推进 async fn
稳定化
很久以前,Rust 就支持了 RPIT 和 async
/ await
,并且成为 Rust 生态中被广泛使用的重要功能。然而,直到现在,我们仍然无法在 Trait 和 Trait 实现中使用这些能力。Trait 几近沦为语言中的二等公民。这个稳定化 PR 将致力于解决这个问题。
这个 PR 将会使 #![feature(return_position_impl_trait_in_trait)]
(RPITIT) 和 #![feature(async_fn_in_trait)]
(AFIT) 趋于稳定,显著增强 Rust 语言和 Trait 的表达能力,支持包括在 Trait 中使用 async fn
等用例。
trait Bar {
async fn bar(self);
}
impl Bar for () {
async fn bar(self) {}
}
Github - Stabilize async fn
and return-position impl Trait
in trait: https://github.com/rust-lang/rust/pull/115822
讨论 - 你最喜欢哪些小众 crates
在 Reddit 上的一篇帖子中,大家分享了一些有趣的小众 crates:
-
maud
一个 HTML 模板引擎。 -
duke
为任意二进制类型定义相称的序列化和反序列化能力。 -
t1
一个无依赖的快速 HTML 解析器。 -
lrpar
,lrlex
,cfgrammar
提供了许多 Yacc 和 Bison 的功能,便于在 Rust 中静态生成解析器。
如果你也对此感到好奇,不妨查看下面的文章。或者在评论区留言,列举你心中的最佳小众 crates 。
Reddit - What are your favorite unpopular crates?: https://www.reddit.com/r/rust/comments/16ill4w/what_are_your_favorite_unpopular_crates/
Week In Rust 512
新一期的 Rust 周报速递发布,快来看看有哪些内容你曾经关注过 :)
This Week in Rust 512: https://this-week-in-rust.org/blog/2023/09/13/this-week-in-rust-512/
From 日报小组 PsiACE
社区学习交流平台订阅:
评论区
写评论还没有评论