2023-12-06
本文由 ChatGPT(gpt-4-1106-preview) 翻译。
您好,欢迎阅读《本周 Rust 动态》的又一期! Rust 是一种赋能每个人构建可靠且高效软件的编程语言。 这是其进展和社区的每周摘要。 想要在此提及某些内容?通过 Twitter 的 @ThisWeekInRust 或 Mastodon 的 @ThisWeekinRust 标记我们,或向我们发送一个拉取请求(pull request)。 想要参与贡献?我们热爱贡献者。
《本周 Rust 动态》是在 GitHub 上公开开发的,且可在 this-week-in-rust.org 查看存档。 如果您在本周的发布中发现任何错误,请提交一个 PR。
本周的 crate 是 symbols,这是一个实用工具,可以迅速创建 proc-macros,将数据库表转化为枚举类型,以实现编译时外键检查。
感谢 Marco Napetti 的自荐!
一直想为开源项目做贡献,但不知道从何入手吗? 我们每周都会从 Rust 社区中突出一些任务,供您选择并开始着手进行!
其中有些任务可能还有导师可用,请访问任务页面获取更多信息。
nodes/models 杂项中nodes 的命令NodeManagerWorker,用于 node / node statusderive 特性不会改变 API 表面all-jobs-succeeded CI 任务是否依赖于所有其他任务如果您是一个 Rust 项目所有者,并且正在寻找贡献者,请在这里提交任务。
上周有 369 个拉取请求被合并
-Zfunction-return={keep,thunk-extern} 选项! 分支在尾部 match 表达式中的情况never_patterns 功能门控pretty_terminatorslice::get_unchecked 添加一个假设索引在边界内的假设rustc_span:对于建议使用正确的编辑距离起始长度linker_arg(s),使链接参数可以前缀“-Wl,”,适用于类似 cc 的链接器参数,而不是逐字传递rustbot 设置 rla 标签generic_const_exprs:建议添加特性,而不是使用它SwitchTarget 的表示方法rustc_hir_typeck:修复在探查非 ASCII 函数替代品时的内部编译错误(ICE)repr(Rust) 提示llvm::Context 被释放之前处理 llvm::TargetMachines 对象!yield/await 导出 ExprKind::Errenforce_context_effectsfn_arg_names: unexpected item DefId(..)#[const_trait] 时修复 PartialEq 参数问题-Clinker-plugin-lto 进行 LTO(链接时优化) 查看 PRmemcpy 假设 查看 PROnceLock 替换 once_cell::sync::OnceCell 查看 PR#![no_builtins] 箱(crates)参与 LTO 的能力 查看 PR#[diagnostic::on_unimplemented] 格式字符串中能使用的符号 查看 PRDefKind 和 DefPathData 查看 PRstruct 中无大小字段的偏移量is_empty 方法OsStr 添加子字符串 APIstr::iter::Chars::advance_bytrack_callercargo add 添加 --public-Zbuild-std 的 --remap-path-prefix 标志--optional <dep> 创建一个 <dep> = "dep:<dep> 功能-Zcheck-cfg 的指纹中包含声明的功能列表: 周围有空格missing_asserts_for_indexing:接受长度相等检查option_if_let_else:当表达式返回 () 时不触发redundant_closure_call:当触发返回 async 块的闭包时,避免重复的 async 关键字redundant_guards:捕获对切片和字符串(strs)的 is_empty、starts_with 和 ends_with 的检查enum 变体上使用 allow 以允许 upper_case_acronymsblocks_in_if_conditions 规则,以检查 match 表达式repeat_vec_with_capacitycwdMissingMatchArms 诊断let 语句的错误处理2023年12月6日至2024年1月3日之间的Rust活动 🦀
如果您正在举办一个 Rust 活动,请将其添加到日历中以便在这里提及。请记得添加活动的链接。 如果需要访问权限,请给 [Rust 社区团队][community]发送电子邮件。
请查看最新的 r/rust 上的招聘线程
NVIDIA 的固件,Airlie 说,附带了一组 include 文件,这些文件反过来定义了随时间变化的结构体。为了应对这些变化,驱动程序将需要某种自动化的 ABI 生成;他指出,开发 Apple M1 GPU 驱动程序的开发者遇到了同样的问题。他建议,如果驱动程序能像 M1 驱动程序那样用 Rust 重写,那么这个问题可能会更容易解决。
– Jonathan Corbet 引述 David Airlie 在 Linux Weekly News 上的说法
感谢 Brian Kung 的建议!
《本周在 Rust》由以下编辑:nellshamrell、llogiq、cdmistman、ericseppanen、extrawurst、andrewpollack、U007D、kolharsam、joelmarcey、mariannegoldin、bennyvasquez。
邮件列表托管由 The Rust Foundation 赞助。