< 返回版块

PsiACE 发表于 2023-09-15 09:23

推进 async fn 稳定化

很久以前,Rust 就支持了 RPITasync / 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

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页