推出通用的derive宏portrait
portrait库发布了derive_delegate derive filler,它可以为任何拥有#[portrait::make]属性的trait派生出trait实现,通过委托给struct/enum的所有字段来实现trait。这可以看作是许多标准库derive宏的通用版本。
derive_delegate的行为类似于标准库中的许多宏。一个全能的示例代码是:
#[portrait::make]
trait Foo {
// trait定义
}
// 给具体的字段类型实现Foo这个trait
impl Foo for i32 {
// trait实现
}
#[portrait::derive(Foo with portrait::derive_delegate)]
struct Fields {
// 字段定义
}
这样就可以自动为Fields派生Foo的实现,通过委托给其字段。
更多信息见:derive_delegate通用derive宏 ↗: https://users.rust-lang.org/t/derive-delegate-the-generic-derive-macro-for-all-traits/97570
并行链接器mold 2.0发布
mold并行链接器发布2.0版本。它可以显著加速Rust编译时的链接过程。此外,mold的许可证也从AGPL改为了更宽松的MIT。
mold linker利用并行化可以大幅提升链接速度,对于大型代码库编译时间的改善尤为明显。
更多信息见:mold 2.0发布 ↗: https://www.reddit.com/r/rust/comments/15ahlpy/mold_parallel_linker_200_released_mold/
Bazel构建Rust工作空间
本文介绍了如何使用Bazel构建Rust工作空间,其中涉及到配置Bazel工作空间、编写BUILD文件、处理依赖等内容。
文章以ripgrep项目为例,详细介绍了如何从Cargo移植到Bazel,包括构建和测试二进制、编写BUILD文件、处理外部依赖等。这为打造大型Rust项目提供了一种更灵活可扩展的构建系统选择。
更多信息见:Bazel构建Rust工作空间 ↗: https://www.tweag.io/blog/2023-07-27-building-rust-workspace-with-bazel/
C++协程与Rust Zero-cost Abstraction比较
本文请求对C++协程提案P2300和Rust的Zero-cost抽象进行详细比较,包括相似点和不同点等。
文章分析了两者在延迟计算、组合futures、运行时开销等方面的区别,以帮助读者深入理解P2300提案。
更多信息见:P2300和Rust零成本抽象比较 ↗: https://www.reddit.com/r/cpp/comments/15aqz09/request_a_detailed_comparison_between_p2300_and/
Rust周报第505期发布
Rust周报的最新505期发布,其中收录了许多Rust社区的近期动态,包括RFC批准、新CRATE推荐、会议信息等。
周报为跟进Rust社区进展提供了很好的渠道。
更多信息见:Rust周报505期 ↗: https://this-week-in-rust.org/blog/2023/07/26/this-week-in-rust-505/
请关注我们的更新,以便了解更多有关Rust的新闻和动态!
From 日报小组 Cupnfish
社区学习交流平台订阅:
评论区
写评论还没有评论