你好,欢迎再来一期本周的螃蟹行情!Rust是一种追求三位一体的系统语言:安全性、并发性和速度。这是它的进展和社区的每周总结。有什么要说的吗?推特@ThisWeekInRust或向我们发送请求。 想参与吗?我们热爱贡献.
这本周的螃蟹行情是在在 Github 上公开的。如果你在本周的问题中发现任何错误,请提交 PR。
查看本周的 This Week in Rust Podcast
这周的箱子是print_bytes,该库可将任意 bytes,尽可能无损地打印到 stream 中。
谢谢dylni的建议!
一直想为开源项目做贡献,但不知道从哪里开始?每周我们都会重点介绍 Rust 社区的一些任务,供您选择和开始!
其中一些任务也可能有导师,请访问任务页面以获取更多信息。
如果您是 Rust 项目的所有者并且正在寻找贡献者,请提交任务这里。
共有 339 个拉取请求在上周合并
'_
时,在返回类型中,考虑使用多个 impl/dyn Traitmacro_rules!
参数的 tokens self
的方法调用,而发生的移动错误(move errors)ExistentialMismatch
#![feature(const_if_match)]
和#![feature(const_loop)]
improper_ctypes_definitions
lintio::ErrorKind::TimedOut
-Z terminal-width
typeck_tables_of
Fn
implsTryFrom<{int}>
for NonZero{int}
std::thread::panicking
添加一个 fast path。[T]::partition_point
core::mem::variant_count
内在函数leading_trailing_ones
impl PartialEq<Vec<B>> for &[A], &mut [A]
Hash::write_iN
转 Hash::write_uN
workspace.metadata
表格的支持master
主分支的支持ptr::read
,代替mem::replace(..., uninitialized())
对 Rust 的更改跟随 RustRFC(征求意见)流程。以下是本周批准实施的 RFC:
每周团队宣布即将做出决定的 RFC 和主要 PR 的“最终意见征询期”。立即发表您的意见。
From<char>
for Stringtransmute
在 constants 和 statics ,但不在 const fn.collect()
,可以将 Box<str>
变为 String引用,是一个锋利的工具,大约有三种不同的方法来使用这把锋利的工具。
- 不要给程序员锋利的工具。他们可能会犯错误,或是割断手指。这是 Java/Python/Perl/Ruby/PHP。。。所用的方法。
- 给程序员所有他们想要的锋利工具。他们是专业人士,如果他们割断手指,那是他们自己的错。这是 C/C++ 给出的方法。
- 给程序员一些锋利的工具,但要在上面,加上防护装置,这样他们就不会不小心割掉手指。这是 Rust 的方法。
生命周期注释是引用的安全保护。Rust 的引用是没有同步(synchronization),也没有引用计数的 —— 这就是它们的锋利之处。第 1 类语言的引用(通常是有同步和引用计数)是“迟钝”的:他们的效率与第 2 类和第 3 类语言是相当不能比的,但它们不会割到你,且可以工作;只会让你慢一点。
所以,坦白地说,我喜欢生命周期注释,既有保护,也可以快。
Thanks to Ivan Tham for the suggestions!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, and cdmistman.