gfx-rs 是一个在 Rust 中实现跨平台图形处理的项目。该项目的最新进展是名为 "Arcanization" 的重大重构,目的是提高在多线程中使用 wgpu 时的性能。
Arcanization 重构
解决的问题
原文链接 https://gfx-rs.github.io/2023/11/24/arcanization.html
这篇文章讨论了从C++过渡到Rust的经验,重点关注构造函数和类型转换, 供C++开发人员参考:
new
)实现。Result<Self, Error>
。Default
trait实现,通常使用#[derive(Default)]
进行简化。Clone
trait实现,以允许显式复制。Copy
trait,允许进行字节对字节的复制。From
和Into
trait实现,强调了显式性,而可能失败的转换使用TryFrom
和TryInto
trait。这篇文章强调了Rust的显式和注重安全性的编程方式,鼓励开发人员在代码中保持显式,即使编译器可以推断出某些行为。文章提供了实际示例,并比较了C++和Rust的构造。
原文链接 https://geo-ant.github.io/blog/2023/rust-for-cpp-developers-constructors/
ripgrep 是一款面向行的搜索工具,可以递归地在当前目录中搜索正则表达式模式。默认情况下,ripgrep 将遵循 gitignore 规则并自动跳过隐藏文件/目录和二进制文件。ripgrep 在 Windows、macOS 和 Linux 上都有一流的支持,并为每个版本提供了二进制下载。
目前版本 14.0.0 的 发布了,包含了一些新功能、性能改进和大量的 bug 修复。
原文链接 https://github.com/BurntSushi/ripgrep/releases/tag/14.0.0
这个 crate 提供了一些准引用宏,用于从 Rust 内部生成 TypeScript 代码.
这让在 Rust 中编写一些 typescript 的代码生成有了个多的选择.
下面是一些例子:
let ts: String = ts_string! { const foo: number = 42; }
// 生成的 typescript代码是: "const foo: number = 42;"
let name = "foo";
let value: u32 = 7;
let ts: String = ts_string! { const #name: number = #{value + 1}; }
// 生成的 typescript代码是: "const foo: number = 8;"
github地址 https://github.com/spencerkohan/type_reflect/tree/main/ts_quote
fish-shell 是一个用户友好的命令行 Shell. 原本是用C++编写, 在两年前开始使用 Rust 进行迁移, 目前, 整体仓库的 Rust 代码占比为 53%, 已经成功进化为 Rust 项目.
github 地址 https://github.com/fish-shell/fish-shell
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅: