2023-07-26
本文由 ChatGPT(gpt-3.5-turbo-1106) 翻译。
你好,欢迎阅读本期的 Rust 本周更新!Rust 是一种赋予每个人构建可靠和高效软件能力的编程语言。这是对其进展和社区的每周总结。希望有什么要提及的内容吗?在 Twitter 上标记我们 @ThisWeekInRust 或者在 mastodon.social 上标记 @ThisWeekinRust,或者 给我们发送一个 pull request。想加入吗?我们非常欢迎贡献。
本周 Rust 项目更新是在 GitHub 上公开开发的,存档可以在 this-week-in-rust.org 上查看。如果您发现本周问题中有任何错误,请提交一个 PR。
本周推荐的 crate 是 tower-async,这是一个目前只支持夜间版本的异步库,用于构建基于 tower 的网络服务器。
感谢 Glen De Cauwsemaecker 自荐该 crate!
一直想要为开源项目做贡献,但不知道从何处开始吗?每周我们都会突出展示一些 Rust 社区的任务供您选择并开始!
其中一些任务可能会有导师提供帮助,访问任务页面以获取更多信息。
ockam project enroll 的默认选项ockam project ticket 应返回适当的错误消息如果您是 Rust 项目的所有者,并且正在寻找贡献者,请在此处提交任务。
上周共合并了 406 个拉取请求。点击查看详情
mips64r6 和 mips32r6 作为 target_arch 值riscv64gc-unknown-hermit 目标x86_64-unknown-linux-ohos 目标x86_64-unknown-uefi 上启用 chkstk/alloca 内置函数.comment 段(!llvm.ident)from_bits、to_bits#[inline]no_builtins 时,将 no-builtins 属性添加到函数#[inline(always)]用于具有目标特性1.1的闭包inline_constunused_qualifications 建议中删除跨度计算的问题!nonnull 元数据,无需使用 assumesubst-relate 不完整性simd_shuffle 中对预先评估的常量进行操作-Z reference-niches 选项Scope::Elisionarg_iter 重命名为 iter_instantiatedrustc_llvm:添加 -Z print-codegen-stats 选项以公开 LLVM 统计信息codegen_gcc 中重用 codegen_ssa 单态化错误-Z reference-niches 选项"--print KIND=PATH 命令行语法try和async的插值块features() 而不是 features_untracked()EncodeUtf16 的 size_hintOsString 字节{Rc,Arc}::allocator 设为关联函数unix_chown)Path::with_extension 中移除一次分配core::sync::atomic::ATOMIC_*_INIT 常量Vec<T, A> 的 impl Extend<&'a T> for Vec<T, A> 移除 A 的生命周期约束EquivalentTryStreamExt::try_ready_chunks 作为 StreamExt::ready_chunks 的可失败版本"ffi_const" 函数属性的支持~/.cargo/{git,registry} 上跳过 mtime 检查doc(hidden),则剥离实现default 的位置significant_drop_tightening 不再对返回字面量的函数进行 lintsignificant_drop_tightening 修复元组 drop 的识别inherent_to_string: 不再对 unsafe 或 extern 函数进行 lintmanual_filter_map: 对 matches 和模式匹配进行 lintptr_arg 应忽略 extern 函数redundant_pattern_matching: 在建议中包含 guardunnecessary_literal_unwrap: 修复在 None.unwrap_or_default() 上的 ICEunused_async: 如果路径引用了 async fn 但没有立即调用,就不进行 lintunwrap_or_else_default → unwrap_or_default 并改进 lint 的结果Self::cmp(self, other) 作为正确的 implunnecessary_cast 中检查全限定路径SpanlessEq::eq_expr 中检查类型是否相等unwrap_or_else_default 的误报问题needless_pass_by_ref_mut lint 对 async 函数的处理ifs_same_cond 中对 option_env! 的误报comparison_to_empty 在 if let/let 链中起作用absolute_pathsdereference.rs 中的一些部分为实用函数cargo dev new_lint 生成的测试中删除 #![allow(unused)] 和 --crate-nametuple_array_conversionsis_dyn_method 中查找超级特性incorrect-ident-casechange_visibility 辅助限制在适用项上2023年7月26日至2023年8月23日之间的 Rust 事件 🦀
如果您举办了 Rust 活动,请将其添加到 日历 中以便在此处提及。请不要忘记添加活动链接。发送电子邮件给 Rust 社区团队 以获取访问权限。
请查看最新的 r/rust 招聘帖子
一名 Rust 开发者是指那些在后悔时会讨厌被告知“是”的程序员。
– Predrag Gruevski 在 mastodon 上的发言
感谢 Kevin Mehall 的建议!
本周 Rust 简报的编辑人员:nellshamrell,llogiq,cdmistman,ericseppanen,extrawurst,andrewpollack,U007D,kolharsam,joelmarcey,mariannegoldin,bennyvasquez.
邮箱列表主机由 Rust 基金会 赞助