2024-01-24
本文由 ChatGPT(gpt-4-1106-preview) 翻译。
大家好,欢迎阅读This Week in Rust的又一期内容! Rust 是一种编程语言,它让每个人都可以构建可靠且高效的软件。 这是其进展和社区活动的每周总结。 想要在这里提及某些内容吗?可以在 Twitter 上通过 @ThisWeekInRust 标记我们,或者在 mastodon.social 上通过 @ThisWeekinRust 联系我们,或者发送我们一个 pull request。 想要参与进来吗?我们热爱贡献者。
This Week in Rust 是在 GitHub 上公开开发的,归档可以在 this-week-in-rust.org 查看。 如果您在本周的内容中发现任何错误,请提交一个 PR。
mem::take减少堆分配本周的 crate 是 apistos,一个 OpenAPI 文档工具。
感谢 Romain Lebran 的自荐!
一直想为开源项目贡献力量,但不知道从何开始? 我们会每周挑选一些来自 Rust 社区的任务,供你选择和开始参与!
其中一些任务可能有导师可供咨询,欲了解更多信息请访问任务页面。
SqlxDatabase 实例如果你是一个 Rust 项目所有者,正在寻找贡献者,请在此提交任务。
无论你是新手还是经验丰富的演讲者,寻找一个平台分享一些有趣的内容吗?这个版块会突出正在计划中的活动,并接受提交参加其活动作为演讲者的申请。
如果你是一位活动组织者,希望扩大活动的影响范围,请通过向 TWiR 提交 PR 提交提交链接。
HashMap/HashSet:迭代器的 fold 方法实现已通过dead_code 将 #[repr(transparent)] 视为与 #[repr(C)] 相同fix(rust-analyzer):使用新的 pkgid 规范来比较large_assignments:对函数调用中传递的特定大参数进行 Lintmaybe_lint_impl_trait:将 is_downgradable 和 is_object_safe 分离never_patterns:将 ! 绑定计为发散模式never_patterns:类型检查永不模式pat_analysis:不要依赖连续的 VariantId,除非是在 rustc 内部pattern_analysis:移除 Ty: Copy 约束proc_macro:添加 Literal::c_string 构造器single_use_lifetimes:不建议删除有界限的生命周期#[track_caller] 添加到 "From implies Into" 实现中Ipv6Addr::is_ipv4_mappedPatKind::Err 添加到 AST/HIRexclusive_range_pattern错误添加帮助信息NonZero<T>类型别名NonZeroXxx::from_mut(_unchecked)?thread_local!中使用任何const表达式块dyn的情况下使用trait名称造成的内部编译器错误(ICE)NulInCStr错误let_underscore_lockcollapse_debuginfo 属性,并添加了命令行标志unsafe_op_in_unsafe_fn 在 2024 版本中迁移closure_env_ty 和 closure_env_parammem::swap 在切片上造成的冲突借用时,建议使用 .swap()unstable_features 并在编译器中使用它stable_mir::with_tables 的安全性EscapeAscii 的 Display 和 CStr 的 Debug 显示bound_mapround_ties_evenslice_first_last_chunkoffset_of!split_at{,_mut}_checkediter::repeat_n(A)Rc::from_box_in 中使用错误分配器进行内存释放的问题{slice,Iterator}::is_sorted_by 的比较闭包中使用 bool 而不是 PartialOrd 作为返回值Input::new防止不正确的AsRef实现values()generated_marker_line_search_limitblocks_in_conditions:如果条件来自宏,则不发出警告default_numeric_fallback:改进常量上下文检测no_effect_underscore_binding:允许使用带下划线前缀的变量unused_io_amount 捕获 Ok(_)suspicious_open_options 语法检查trait_duplication_in_bounds 语法检查中正确处理类型关联non_exhaustive 属性,则不发出 derive_partial_eq_without_eq 语法检查semicolon_if_nothing_returned 的假阳性问题multiple_crate_versions 以正确规范化包名,避免忽略本地包no_effect_underscore_binding 的警告范围single_call_fn lint 中尊重 #[allow] 属性arc_with_non_send_sync lint 描述的措辞并修复死链use_tree_list 解析添加错误恢复struct 时的恐慌错误SelfParamfor 构造OUT_DIRvalue_ty 查询可失败macro_rules 解析为宏名称2024年1月24日至2024年2月21日期间的Rust活动 🦀
如果你正在举办Rust相关活动,请将其添加到日历中,这样我们可以在这里提及它。请记得添加活动的链接。如果需要获取权限,请通过邮件联系[Rust社区团队][community]。
Rust 工作机会:
TWiR(This Week in Rust)已经停止特别推送个别的工作职位。关于这一变化的更多信息,请阅读这里:
https://github.com/rust-lang/this-week-in-rust/issues/3412
请查看最新的 Reddit 上 r/rust 社区的招聘帖。
这个语言的函数式 ML 根基一直很明显,Graydon 的第一个 Rust 编译器是用 OCaml 写的,这影响了它的初始设定。
它不是“更好的 C++”。
它是站在 Lisp 肩膀上的 Haskell,穿上 C 的外衣潜入 PRDCTN。(所有流行语言聚集的高端夜店)
– tris 在他的“No Boilerplate” Youtube 频道上说
感谢 PrototypeNM1 的推荐!
《本周在 Rust》由以下人员编辑:nellshamrell、llogiq、cdmistman、ericseppanen、extrawurst、andrewpollack、U007D、kolharsam、joelmarcey、mariannegoldin、bennyvasquez。
邮件列表托管赞助商是 The Rust Foundation