2023-11-01
本文由 ChatGPT(gpt-4-1106-preview) 翻译。
欢迎阅读Rust 本周动态的又一期内容! Rust是一种使每个人都能构建可靠且高效软件的编程语言。 这是其进展和社区动态的每周总结。 想要在本周动态中提及某些内容?请在 Twitter 上标记我们 @ThisWeekInRust 或在 mastodon.social 上 @ThisWeekinRust,或者提交一个拉取请求(PR)。 想参与进来吗?我们热爱贡献。
Rust 本周动态 在 GitHub 上公开开发,并且存档可以在 this-week-in-rust.org 查看。 如果你发现本周刊中有任何错误,请提交一个 PR。
本周的 crate 是 silkenweb,一个用于构建具有细粒度响应性的Web应用程序库,它清晰地分离了逻辑和用户界面。
感谢 henrik 的建议!
一直想为开源项目做贡献但不知道从何开始? 我们每周都会从 Rust 社区中挑选一些任务,你可以选择一个来开始参与!
其中一些任务可能有可用的导师,访问任务页面以获取更多信息。
OfflineDependencyProvider 应该有自己的模块NodeManagerWorker,用于 节点 / tcpockam vault delete(无参数)通过询问用户从要删除的保管库列表中选择来进行交互(tuify)服务 的命令如果你是 Rust 项目的所有者,并且正在寻找贡献者,请在此处提交任务。
Rust 项目更新
上周合并了 408 个 pull 请求
PassMode::DirectOptWithInfcx 命名修整,简化特征约束deduce_param_attrs:解释一个只读案例rustc_interface 清理工作stack_overflow: get_stackp 在 dragonflybsd 上也使用 MAP_STACK 标志--skip-stage0-validation#[diagnostic::on_unimplemented] 属性有多个env!("CFG_RELEASE")O(n^2)rust-demangler 的不必要的构建/重建mem::discriminantcounters 中用嵌套的跟踪范围替换手动调试缩进windows/api.rsrustc_target 对 object/macho 的依赖SocketAddr* 派生 Ord、PartialOrd 和 Hash'Trait<Assoc=arg>'capture_cfg 来防止括号不匹配,则吃掉关闭括号cg_clif 测试ReErased 的响应opaque_types_defined_by 中忽略 RPIT 重复的生命周期gen 块?Trait 约束的一些诊断信息#[diagnostic::on_unimplemented] 的警告消息panic_immediate_abort 的作用范围opaque_types_defined_by 查询中整合 LocalDefId 列表-C instrument-coverage=branch 以控制分支覆盖率Ok(T) 上建议使用 ? 是无效的.rmeta 文件标记为 /SAFESEH 在 x86 Windows 上BinaryHeap 的构造器标记为 const fnenum 作为替代方案mir_const_qualifcheck_well_formed以防止对其进行类型检查-Zdep-tasksConst::internal()-Z instrument-coverage 的支持GenericParamDefKind 中使用 ThinVectrack_caller 逻辑ty::print 清理gen 块的一些诊断改进#[stable] 属性的 since 值new 当尝试使用私有字段构建元组 结构体Canonical 提升到 rustc_type_irClauseKind 和 PredicateKind 提升为 rustc_type_irImageDataType 作为分配类型#[stable(…)] 内的 feature 和 since 值check_mod_type_wf 可能会错误返回 ErrorGuaranteed 的事实clock_gettimechar、u8 ASCII 函数以使其无分支ops::range 方法添加 #[inline][const_]pointer_byte_offsetsrustc_codegen_cranelift 一起使用的内联汇编TryAll 和 TryAny 适配器FuturesUnordered 的 Sync 实现test 命令添加基础设施volatile_load[workspace.members]enum-Zcheck-cfg 警告的过时选项match_arm_blocks 和 control_brace_style 组合引起的错误ignored_unit_patterns: 检查 &(), &&(),iter_without_into_iter: 在建议中修复小问题,并限制对导出类型进行 lint 操作let_and_return: 必要时用括号包裹waker_clone_and_wake lint 来检查不必要的 Waker 克隆doc_markdown 中忽略小写驼峰式(camelCase)单词read_zero_byte_vec 移至育儿室(nursery)clippy_utils 中移除内部特性internal_warn lint 类别extract_variable 辅助功能2023年11月1日至2023年11月29日之间的 Rusty 活动 🦀
如果您正在举办一个 Rust 活动,请将其添加到日历中以便在这里提到。请记得也添加活动的链接。 如果您需要获得权限,请给[Rust 社区团队][community]发送电子邮件。
请查看 r/rust 上的最新“谁在招聘”帖子。
在进行了一次最佳匹配后,我们发现 Rust 项目在所有相关经验水平上引入漏洞的可能性都比它们的 C++ 等价项目要小,但更重要的是,我们发现这种效果对初次贡献者来说最为显著,他们引入漏洞的可能性几乎要小两个数量级。也就是说,尽管 Rust 可能有学起来比较难的名声,它对新手而言实际上是有一种很明显的优势的。审核者不必在审核代码上费太大劲就能自信地认为,某人在他们的项目中的首次尝试中不会不小心添加一个漏洞。
– Justin Tracey 在 crysp.org 上的言论
感谢 Brian Kung 的建议!
《本周 Rust 》由以下编辑:nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez。
电子邮件列表托管赞助由 Rust 基金会 提供