0%

最近 Rust 官方社区搞了个 Rustc Reading Club 的活动,由编译器 team 的 Leader Niko 发起,具体网址在这里:https://rust-lang.github.io/rustc-reading-club/

很可惜的是,11 月 4 日的第一期,由于太过火爆并且 Zoom 人数限制 100 人,导致主持人 Niko 自己进不来所以取消了……等待看看官方后续会怎么搞吧,还是很期待官方组织的活动的。

Rust 中文社群的张汉东大佬也紧跟着官方的活动,在社群里面组织了 Rustc 源码阅读的活动,今天(11 月 7 日)举办了第一期,在这期中我跟着吴翱翔大佬的思路,从一个错误出发,学习了一部分 rustc_resolve 的逻辑,于是想着写一篇博客总结一下。

【小广告】下一期 11 月 14 日下午会由刘翼飞大佬带领大家一起去阅读类型推导相关的代码,有兴趣的同学可以下载飞书,注册一个个人账号,然后扫描二维码加入:

阅读全文 »

最近在学习 Rust,发现 Rust 社区真的是有非常丰富的资源,从社区中学到了很多有用的东西。与此同时,也一直想着能够为社区做点什么。

正好发现《The Rustonomicon》(也称为 Rust 秘典、死灵书)之前的一版中文翻译(感谢@tjxing)是更新到了 2018 年,之后就再也没再更新维护过了;而这三年官方也对于这本书进行了大量的迭代升级,于是想着重新翻译一版,并尽可能持续跟进迭代,贡献给社区,也算是尽一份绵薄之力。

在线阅读地址:https://nomicon.purewhite.io/

github 地址:https://github.com/PureWhiteWu/nomicon-zh-Hans

阅读全文 »

原文:https://github.com/dtolnay/rust-faq

本文档的存在是为了回答有关 Rust 编程语言的常见问题。它不是一个完整的语言指南,也不是一个教授该语言的工具。它只是一个参考,用来回答 Rust 社区中人们经常遇到的问题,并澄清 Rust 的一些设计决定背后的原因。

阅读全文 »

大家应该都听说过 Rust 语言是以安全(Safe)作为特性之一的,但是由于一个悲哀的事实——硬件是不安全(Unsafe)的,所以其实所有的“安全”一定是在“不安全”之上的封装,这也导致了完全意义上的“Safe”是很难做到且功能极其受限的。

那让我们来看看,Rust 的 Safe 边界在哪里。

阅读全文 »

写在前面:

最近看到了一篇讲 Rust 如何对框架进行抽象的文章,写得非常好,这两天抽空翻译了一下。

原文:https://tokio.rs/blog/2021-05-14-inventing-the-service-trait

正文

Tower是一个模块化和可重复使用的用来构建 client 和 server 的组件库。其核心是Service特性。一个Service是一个异步函数,它接受一个请求并产生一个响应。然而,Tower设计的某些方面可能不是那么一目了然。

与其解释今天存在于Tower中的Service特性,不如来看看Service背后的设计考量。让我们试试看,如果今天重新设计实现它,我们会怎么做。

阅读全文 »

缘起

最近想尝试在 Golang 里面实现clock_gettimeCLOCK_REALTIME_COARSECLOCK_MONOTONIC_COARSE,正好深入研究了下 time.Now的实现,还机缘巧合下顺便优化了一把time.Now(虽然最终提交的是 Ian 大佬的版本)。

在这里记录下来整个过程,以供查阅。

阅读全文 »

Golang 的泛型实现已经正式合并到 master 分支上啦,之后也会在 master 分支上进行开发,那么作为期待这个 feature 许久的 gopher,也想第一时间看看到底是如何实现的。

阅读全文 »

有多少人工就有多少智能。 ——鲁迅

缘起

众所周知,字节跳动内部主要使用 Thrift,为了更好地掌控生成代码,我们用 Go 自己实现了 Thrift 代码生成工具。

而我们的故(shi)事(gu),正是由一次重构开始……

阅读全文 »