From 18612de94cafebe1cbbbb3775b9a0e60123d69bc Mon Sep 17 00:00:00 2001 From: cxz888 <53104452+cxz888@users.noreply.github.com> Date: Mon, 11 Jul 2022 21:40:12 +0800 Subject: [PATCH 1/8] Typo: sized.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 你能想到的几乎类型->你能想到的几乎所有类型 --- src/advance/into-types/sized.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/advance/into-types/sized.md b/src/advance/into-types/sized.md index d0a1195c..f8bd88bf 100644 --- a/src/advance/into-types/sized.md +++ b/src/advance/into-types/sized.md @@ -88,7 +88,7 @@ fn generic(t: T) { } ``` -在上面,Rust 自动添加的特征约束 `T: Sized`,表示泛型函数只能用于一切实现了 `Sized` 特征的类型上,而**所有在编译时就能知道其大小的类型,都会自动实现 `Sized` 特征**,例如。。。。也没啥好例如的,你能想到的几乎类型都实现了 `Sized` 特征,除了上面那个坑坑的 `str`,哦,还有特征。 +在上面,Rust 自动添加的特征约束 `T: Sized`,表示泛型函数只能用于一切实现了 `Sized` 特征的类型上,而**所有在编译时就能知道其大小的类型,都会自动实现 `Sized` 特征**,例如。。。。也没啥好例如的,你能想到的几乎所有类型都实现了 `Sized` 特征,除了上面那个坑坑的 `str`,哦,还有特征。 **每一个特征都是一个可以通过名称来引用的动态大小类型**。因此如果想把特征作为具体的类型来传递给函数,你必须将其转换成一个特征对象:诸如 `&dyn Trait` 或者 `Box` (还有 `Rc`)这些引用类型。 From bdac540c2d1dc4ba2c87bef6c4ac3cc69139e503 Mon Sep 17 00:00:00 2001 From: Sunface Date: Wed, 13 Jul 2022 08:43:16 +0800 Subject: [PATCH 2/8] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fe945e6d..5050f6fd 100644 --- a/README.md +++ b/README.md @@ -66,10 +66,10 @@ - - + +
- JesseAtSZ 🥉 + zongzi531
@@ -81,10 +81,10 @@ +
- - + +
- zongzi531 + JesseAtSZ 🥉
From f8bb7910c98a89b539c713faecb952d5cd2951b6 Mon Sep 17 00:00:00 2001 From: Sunface Date: Wed, 13 Jul 2022 08:43:53 +0800 Subject: [PATCH 3/8] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5050f6fd..36f2bd5d 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ - +
zongzi531
@@ -82,7 +82,7 @@
- +
JesseAtSZ 🥉
From 33313012de193506d3406497b1241f5c6da1deb5 Mon Sep 17 00:00:00 2001 From: Sunface Date: Wed, 13 Jul 2022 08:44:39 +0800 Subject: [PATCH 4/8] Update about-book.md --- src/about-book.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/about-book.md b/src/about-book.md index 923dd2d0..4b3d251e 100644 --- a/src/about-book.md +++ b/src/about-book.md @@ -60,12 +60,13 @@ Rust语言真的好:连续七年成为全世界最受欢迎的语言、没有G
- - + +
- JesseAtSZ 🥉 + zongzi531
@@ -75,10 +76,10 @@ Rust语言真的好:连续七年成为全世界最受欢迎的语言、没有G -
- - + +
- zongzi531 + JesseAtSZ 🥉
From 2cbc918d768f8fd887704273fec653efb97889eb Mon Sep 17 00:00:00 2001 From: Allan Downey Date: Wed, 13 Jul 2022 21:59:43 +0800 Subject: [PATCH 5/8] Update READE.md --- README.md | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 36f2bd5d..59cb20d1 100644 --- a/README.md +++ b/README.md @@ -6,30 +6,25 @@
-[![studyrut](https://img.shields.io/badge/RustCn社区-orange)](https://github.com/rustlang-cn) [![Stars Count](https://img.shields.io/github/stars/sunface/rust-course?style=flat)](https://github.com/sunface/rust-course/stargazers) +[![studyrut](https://img.shields.io/badge/RustCn社区-orange)](https://github.com/rustlang-cn) [![Stars Count](https://img.shields.io/github/stars/sunface/rust-course?style=flat)](https://github.com/sunface/rust-course/stargazers) [![](https://img.shields.io/github/issues-pr-closed-raw/sunface/rust-course.svg?style=flat)](https://github.com/sunface/rust-course/issues) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ines/spacy-course/master) - - -
- - ## 教程简介 - 在线阅读: https://course.rs - + **`Rust语言圣经`**涵盖从**入门到精通**所需的 Rust 知识,目录及内容都经过深思熟虑的设计,同时语言生动幽默,行文流畅自如,摆脱技术书籍常有的机器味和晦涩感。 - **深入度**,在基础教学的同时,提供了深入剖析。浅尝辄止并不能让我们站上紫禁之巅 -- **专题内容**,将 Rust 高级内容通过专题的形式一一呈现,内容内聚性极强,例如性能优化、手把手实现链表、Cargo和Tokio使用指南、async异步编程、标准库解析、WASM等等 +- **专题内容**,将 Rust 高级内容通过专题的形式一一呈现,内容内聚性极强,例如性能优化、手把手实现链表、Cargo 和 Tokio 使用指南、async 异步编程、标准库解析、WASM 等等 - **内容索引**,作为一本工具书,优秀的索引能力非常重要,遗忘不可怕,找不到才可怕 @@ -37,11 +32,10 @@ - **[Cookbook](https://rusty.rs)**,涵盖多个应用场景的实战代码片段,程序员上网查询文件操作、正则解析、数据库操作是常事,没有人能记住所有代码,而 Cookbook 可解君忧,Ctrl + C/V 走天下 -- **[配套练习题](https://github.com/sunface/rust-by-practice)**,像学习一门大学课程一样学习 Rust 是一种什么感觉?*Rust语言圣经 + Rust语言实战* 双剑合璧,给你最极致的学习体验 +- **[配套练习题](https://github.com/sunface/rust-by-practice)**,像学习一门大学课程一样学习 Rust 是一种什么感觉?_Rust 语言圣经 + Rust 语言实战_ 双剑合璧,给你最极致的学习体验 总之在写作过程中我们始终铭记初心:为中国用户打造一门**全面的、深入的、持续更新的** Rust 教程。 新手用来入门,老手用来提高,高手用来提升生产力。 - ## 🏅 贡献者 非常感谢本教程的[所有贡献者](https://github.com/sunface/rust-course/graphs/contributors),正是有了你们,才有了现在的高质量 Rust 教程! @@ -49,6 +43,7 @@
**🏆 贡献榜前三**(根据难易度、贡献次数、活跃度综合评定): + @@ -77,14 +72,15 @@
-🏅 核心贡献者: +🏅 核心贡献者: +
@@ -69,7 +64,7 @@
- zongzi531 + zongzi531 🥉

- JesseAtSZ 🥉 + JesseAtSZ
@@ -111,10 +107,9 @@
- ## 创作感悟 -截至目前,Rust语言圣经已写了 170 余章,110 余万字,历经 800 多个小时,每一个章节都是手动写就,没有任何机翻和质量上的妥协( 相信深入阅读过的读者都能体会到这一点 )。 +截至目前,Rust 语言圣经已写了 170 余章,110 余万字,历经 800 多个小时,每一个章节都是手动写就,没有任何机翻和质量上的妥协( 相信深入阅读过的读者都能体会到这一点 )。 曾经有读者问过 "这么好的书为何要开源,而不是出版?",原因很简单:**只有完全开源才能完美地呈现出我想要的教学效果**。 @@ -128,12 +123,10 @@ 最后,能通过开源在茫茫人海中与大家相识,这感觉真好 :D - ## 开源协议 在开源版权上,我们选择了 [No License](https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwigkv-KtMT0AhXFdXAKHdI4BCcQFnoECAQQAw&url=https%3A%2F%2Fchoosealicense.com%2Fno-permission%2F&usg=AOvVaw3M2Q4IbdhnpJ2K71TF7SPB),这意味着读者可以随意的 fork 和阅读,但是**不能私下修改后再包装分发**,如果有这方面的需求,请联系我们,望理解。 - ## 借鉴的书籍 站在巨人的肩膀上,能帮我们看的更远,特此感谢以下巨人: @@ -145,12 +138,10 @@ 因为它们绝大部分是支持 APACHE + MIT 双协议的,因此我们选择了遵循其中的 MIT 协议,并在这里统一对借鉴的书籍进行说明。 - ## 社区 & 读者交流 - 知乎: [孙飞 Sunface](https://www.zhihu.com/people/iSunface) -- QQ群 `1009730433`,用于日常技术交流 +- QQ 群 `1009730433`,用于日常技术交流 - 微信公众号: 扫描下面的二维码关注公众号 `Rust语言中文网` - From 0640118bf0ca2151bde9f74244859a7387156db8 Mon Sep 17 00:00:00 2001 From: CrazyCoder_LJ Date: Fri, 15 Jul 2022 10:05:54 +0800 Subject: [PATCH 6/8] Update sync1.md a word error --- src/advance/concurrency-with-threads/sync1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/advance/concurrency-with-threads/sync1.md b/src/advance/concurrency-with-threads/sync1.md index ef50f6fe..90daff8e 100644 --- a/src/advance/concurrency-with-threads/sync1.md +++ b/src/advance/concurrency-with-threads/sync1.md @@ -506,7 +506,7 @@ Mutex { data: true, poisoned: false, .. } 在多线程中,另一个重要的概念就是信号量,使用它可以让我们精准的控制当前正在运行的任务最大数量。想象一下,当一个新游戏刚开服时(有些较火的老游戏也会,比如`wow`),往往会控制游戏内玩家的同时在线数,一旦超过某个临界值,就开始进行排队进服。而在实际使用中,也有很多时候,我们需要通过信号量来控制最大并发数,防止服务器资源被撑爆。 -本来 Rust 在标准库中有提供一个[信号量实现](https://doc.rust-lang.org/1.8.0/std/sync/struct.Semaphore.html), 但是由于各种原因这个库现在已经不再推荐使用了,因此我们推荐使用`tokio`中提供的`Semaphone`实现: [`tokio::sync::Semaphore`](https://github.com/tokio-rs/tokio/blob/master/tokio/src/sync/semaphore.rs)。 +本来 Rust 在标准库中有提供一个[信号量实现](https://doc.rust-lang.org/1.8.0/std/sync/struct.Semaphore.html), 但是由于各种原因这个库现在已经不再推荐使用了,因此我们推荐使用`tokio`中提供的`Semaphore`实现: [`tokio::sync::Semaphore`](https://github.com/tokio-rs/tokio/blob/master/tokio/src/sync/semaphore.rs)。 ```rust use std::sync::Arc; From d1aeaef5f8c6becb7c5e891db69367eb09c52c20 Mon Sep 17 00:00:00 2001 From: sunface Date: Fri, 15 Jul 2022 16:21:49 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=91=A8=E5=88=8A=2017?= =?UTF-8?q?=20=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rust-weekly.md | 91 +++++++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/src/rust-weekly.md b/src/rust-weekly.md index 2bd7f3d9..a7820771 100644 --- a/src/rust-weekly.md +++ b/src/rust-weekly.md @@ -1,84 +1,93 @@ -# 「Rust 语言周刊」 第 16 期 · 2022-06-24 -Rust语言周刊精选全世界过去一周的优秀文章、新闻、开源项目和语言动态。 +# 「Rust 语言周刊」 第 17 期 · 2022-07-15 +Rust语言周刊精选全世界过去一周(或者几周)的优秀文章、新闻、开源项目和语言动态。 本周刊由 RustCn 倾情打造,其中, `[Zh]` 标识的中文资料由 Rust 翻译计划提供,并且原始的 Markdown 文档已[全部开源](https://github.com/rustlang-cn/rustt),欢迎大家阅读和订阅。 > RustCn:https://hirust.cn, 公众号: Rust语言中文网 + +
题图: Tauri 发布 1.0 版本
+ ## 官方新闻 -1、[首期 Rust 基金会的赞助名单已经出炉](https://foundation.rust-lang.org/news/2022-06-14-community-grants-program-awards-announcement/) +1、[Zh] [Rust 发布 1.62 版本](https://course.rs/appendix/rust-versions/1.62.html) -按照目前的计划,基金会每年开放两次申请,每次 20 万美元的总额( 估计会逐年增加 ),大致授予[合作伙伴](https://foundation.rust-lang.org/news/2022-06-14-community-grants-program-awards-announcement/#fellowship-awards)和[个人项目](https://foundation.rust-lang.org/news/2022-06-14-community-grants-program-awards-announcement/#individual-project-grant-awards)两个方向。 +如果大家期待 Rust 像其它语言一样,每一个新版本都带来大量新特性,那你们可要失望了,1.62 的更新内容相当少,甚至不如某些语言一个 minor 版本的更新力度,但**错不在 Rust**,建议大家了解下 Rust 的[版本发布流程](https://course.rs/appendix/rust-version.html),就明白其中的弯弯绕绕了。 -下次的申请开放大概在 10 月份左右,强烈建议有能力的都去试试,万一申请下来,几千美元也是很香的 :) +## 开源项目 -## 精选文章 +1、[基于 Rust 的操作系统训练营](https://github.com/LearningOS/rust-based-os-comp2022) -1、[Zh] [用 Rust 从 0 到 1 实现一个最简化的 KV 存储引擎](https://blog.csdn.net/qq_36456827/article/details/125304612) +该训练营有一个配套教程,将带大家从零开始使用 Rust 编写 RISC-V 架构的 类 Unix 内核 。 -这种有讲有练的干货真的不多( 大部分人貌似都更喜欢做一些偏软货的东东,包括我自己 :P ),本文不仅内容质量高,而且还随文附送一个相当不错的 DB demo 实现,非常值得阅读和学习! +我自己也做开源,深知这件事会占用多少的时间和精力,甚至还会遭人非议,而我仅仅是写写书,跟作者这种大佬一比,差距就太大了... Respect! -2、[智商提升了一岁的 Rust 编译检查器](https://jackh726.github.io/rust/2022/06/10/nll-stabilization.html) +2、[Tauri 发布 1.0 版本](https://tauri.app/blog/tauri_1_0/) -当你好奇的看到这里时,和我一样,你被作者的标题忽悠了,其实是 Rust 编译检查器在最新版本中会默认开启所有的功能。不过在文章中,还讲到了很多生命周期错误提示的最新变动以及未来的展望,总算没白来了 :D +虽然 Tauri 很有名,但是为防有同学不知道背景,还是简单介绍下:它是一款跨平台的桌面应用开发框架,虽然内核是使用 Rust 开发,但是开发者可以使用自己喜欢的前端框架( `react`, `vue`, `vite` )来构建自己的用户界面,最终编译生成一个可执行的二进制文件,方便在各个不同的操作系统间分发运行。总之,你可以将 Tauri 当作是理念更先进的 Electron.js 。 -3、[大佬来找茬系列之教学明星项目 mini-redis](https://smallcultfollowing.com/babysteps/blog/2022/06/13/async-cancellation-a-case-study-of-pub-sub-in-mini-redis/) +言归正传,在历经 1 年多的时间后,Tauri 终于发布了 1.0 版本,这也标志着它已经可以在生产环境正式使用,并且目前来看,官方文档还算可以,甚至还提供了[中文文档](https://tauri.app/zh/v1/guides/getting-started/prerequisites),除此之外,我还发现了一个[宝藏教学系列](https://zhuanlan.zhihu.com/p/539708101),值得一读。 -一般来说,在社区中推荐一个新手学习项目, [`mini-redis`](https://github.com/tokio-rs/mini-redis) 往往是首选,它拥有高质量且简洁的代码实现、清晰完善的文档以及对异步编程保姆式的引导讲解,总之非常棒。 +3、[lettre 发布 0.1.0 版本](https://lettre.rs/post/lettre-0-10/) -但是它没有缺点吗?这不,Baby steps 大佬出手了,干货满满,强烈推荐阅读! +`lettre` 是一个现代化的邮件发送库,它简单易用、安全可靠,但是需要注意,它的目标**不是支持所有的邮件 RFC 标准**,因此在你有特殊需求时,可能会需要自己动手,丰衣足食。 -4、[如何让 Rust 项目发生内存泄漏甚至崩溃?](https://fly.io/blog/rust-memory-leak/) +该库目前已被多个项目使用,包括大名鼎鼎的 `crates.io`。 -别开枪,是友军!事实上,这篇文章讲的是如何修复 Rust 项目的内存泄漏问题,具体的项目是 `fly.io` 公司的代理服务,该代理会将来自世界各地的用户请求路由到最适合的虚拟机中( 虚拟机分布在全世界 21 个地区 )。 +4、[workers-rs: 使用 Rust + WebAssembly 实现 Cloudflare 的 Workers](https://github.com/cloudflare/workers-rs) -5、[使用自建的 prelude.rs 来简化 Rust 项目的依赖引入](https://justinwoodring.com/blog/tidy-your-rust-imports-with-prelude/) +Cloudflare 已经成为全世界最大的 DNS 服务商,而且它的业务不仅仅是 DNS,目前云计算方面也进行的如火如荼。CF 最大的优势不仅仅在于 DNS 的快速和稳定,还在于它提供了多种方式来扩展你的 DNS 使用,例如你可以使用 Rust 来变成它的 worker。 -Rust 项目大了后,一个不得不面对的问题就是:该如何处理每个文件中都需要导入的重复依赖,例如: +为了便于有需要的同学进一步学习该如何使用,这里还有一篇[实战文章](https://logankeenan.com/posts/running-a-rust-server-in-a-cloudflare-worker/),值得一看。 -```rust -use crate::models::clubs_md::{Club, NewClub, ClubDetails}; -use crate::models::users_md::{User, UserDetails, NewUser, Admin}; -use crate::models::club_members_md::{MembershipStatus, ClubMember, NewClubMember}; -use crate::Db; -``` -6、[使用 Rust 来测试 NVDIA 的 GPU 性能](https://simbleau.github.io/blog/gpu-profiling-with-rust/) +## 精选文章 -在目前的 CPU、GPU 跑分领域,Rust 还是小兵之姿,但将军的梦想还是要有的。这篇文章中,作者将使用 NVDIA 的工具扩展 SDK 来开发基于 Rust 的 GPU 和 CPU 跑分工具,喜欢猎奇的同学不容错过。 +1、[过程宏揭秘 II](https://blog.jetbrains.com/rust/2022/07/07/procedural-macros-under-the-hood-part-ii/) +想要了解过程宏是如何编译、怎么跟 IDE 互动的吗?来看看这个系列的文章,作者来自 Intellij Rust 插件开发组,之前还给 RustCon 分享过,干货满满。 -## 开源项目 +本文是系列文章中的第二篇,第一篇见[这里](https://blog.jetbrains.com/rust/2022/03/18/procedural-macros-under-the-hood-part-i/)。 + + +2、[youtube][有字幕] [AWS 在构建 Rust SDK 方面的实践](https://www.youtube.com/watch?v=N0XMjokwTIM) + +如果没有亚马逊这几年对 Rust 的大力(肆)支(鼓)持(吹),Rust 也不会走到今天这个地步。出于敬意,放上这个视频,事实上,里面更多的是对自己产品的宣传 = , = 特别是第一部分,大家可以跳着看,一些关于底层的讲解还是值得一看的。 + +3、[Zh] [在 GCC 13 中,大家可能将看到 Rust 的身影](https://www.oschina.net/news/202630/gcc-rust-approved-by-gcc-steering-committee) + +目前来说,Rust 的编译器实现是基于 LLVM 的,而我们可能很快将看到基于 GCC 的实现,与 LLVM 不同,新的编译器将能获得 GCC 内部优化通道的所有访问权,同时带来更多的目标平台的支持,以及享受 GCC 众多的插件生态。 + +该项目已经历时多年(从 Rust 0.9 版本开始),我一度怀疑可能永远都无法看到它的身影,没想到现在突然官宣了,但是项目依然还处于早期阶段,当前的目标是在 GCC 13 中提供测试级别的支持。 -1、 [lurk: 使用 Rust 重新实现 strace](https://jakobwaibel.com/2022/06/06/ptrace/) +再加上 Rust 即将在 Linux 5.20 中出现,可以预料, Rust 的未来将更加美好,大家一起期待吧! -目前项目还较为早期,但是关于项目的愿景,作者描述的较为清晰,这种项目一般都是值得期待并能产生结果的。 +4、[C++ 大战 Rust 系列:可变性和所有权](https://www.tangramvision.com/blog/c-rust-interior-mutability-moving-and-ownership) -2、[error-stack: 一个全新的 Rust 错误处理库](https://hash.dev/blog/announcing-error-stack) +虽然 Rust 将所有权发扬光大,但是咱不能说 Rust 发明了所有权,毕竟众所周知:Rust 语言是借鉴大师 :P -该库支持上下文感知和任意用户数据的关联。事实上,这种类型的开源项目往往都来源于一个团队在实际项目中遇到的痛点,因此工程性适用性会非常强。总之,以我个人的经验,不以 star 论英雄,还是看看是 `谁` 开源了 `什么` 项目以及适不适合 `你` 的使用场景,很多低星项目其实是非常优秀和成熟的,只不过没有得到应有的曝光度。 +在这篇文章中,作者将介绍 C++ 和 Rust 在实现所有权、可变性方面的不同设计哲学,以及标准库、编译器层面的支持。 -3、[打遍 playground 无敌手的 Rust Explorer](https://www.rustexplorer.com/b/about) +5、[Rust 错误介绍,比你想要的更多](https://www.shuttle.rs/blog/2022/06/30/error-handling) -这个项目真的非常吸引我,不知道大家对于在线代码运行的期许是什么,对我而言,能够运行各种代码绝对是最大的亮点,而这个项目支持 10000 个三方依赖库(crates.io 上的 top 10000)。 +文章不错,标题也不错! 虽然你想要的错误处理几乎都可以在 `https://course.rs` 上找到,但是这篇文章依然值得一看。 -不是 100,也不是 1000,而是 10000,基本上这意味着几乎所有代码片段都可以在这里运行了,也意味着我的 `practice.rs` 项目可以进一步扩展,Bingo! +6、[Youtube][有字幕] [为何你的 Rust 编译这么慢?](https://www.youtube.com/watch?v=pMiqRM5ooNw) -4、[clap 3.2 发布](https://epage.github.io/blog/2022/06/clap-32-last-call-before-40/) +视频质量自然非常高,从各个方面介绍了该如何提升 Rust 的编译速度,干货满满,强烈推荐。 -看起来只是一个小版本,但是它可是 4.0 大版本的预演,因此新增了两种 API 构建方式。 +但...我的天,我真的佩服作者,就以 Rust 周刊举例吧,每次周刊基本都要花费我几个小时,那一个将近 3 个小时的干货视频,要准备多久?简直是卷王在世 :) -5、[c2rust 王者归来](https://immunant.com/blog/2022/06/back/) +甚至有人评论到:这个是一个 AMSR 视频... -这个项目对于 Rust 的生态而言太太太重要了,要进一步扩大自己的份额,C 语言就是绕不过的高山,而重写旧项目在大多数时候显然都是不现实的,因此 `c2rust` 才会有这么高的呼声,只不过之前因为核心作者的原因,项目几乎不怎么活跃了,还好现在 `immunant` 公司接过了大旗。 -要我说,这种底层类型的大型开源项目要做得好,还是得背靠大树,例如之前的 [`cc`](https://github.com/rust-lang/cc-rs/issues/663) 项目就是从 `alex` 个人名下转到了 `rust` 官方组织下,最终又焕发了第二春。 +7、[Rust中的再借用](https://haibane-tenshi.github.io/rust-reborrowing/) -6、[mold 发布 0.3 版本](https://github.com/rui314/mold) +大家都知道 Rust 中的生命周期很难,那你们谈谈对借用的印象,难吗?我猜,大多数人会说不难。其实不然,Rust 中的借用并不仅仅是书上介绍的那些,例如**再借用(reborrowing)**,你听说过吗? -mold 是一个用 Rust 写的链接器,它的性能比 LLVM 的 lld 链接器快好几倍,目标是通过降低编译时间来让 Rust 项目的开发闭环周期大幅提速。以下是性能对比图: +8、[我很强,但 Rust 更强](https://blog.polybdenum.com/2022/06/25/an-unfortunate-experience-with-rust.html) - +作者说他对于 Rust 极其有经验,但是就算这样的高手,依然避免不了被 Rust 所教育,你问怎么个教育法?当然是跟编译器搏斗咯。 +其实,从我个人而言,非常推荐大家看看这类文章,那些关于 Rust 如何成功的营销文,爽则爽矣,对于技术却无多大帮助。而这种错误实践类的文章,却能帮助我们少走很多弯路! From defe3f44a77ee79633ecc9a7f5c5c006bbe4cfec Mon Sep 17 00:00:00 2001 From: sunface Date: Fri, 15 Jul 2022 16:34:16 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dmd=20table=20=E7=9A=84?= =?UTF-8?q?=E6=B8=B2=E6=9F=93=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/about-book.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/about-book.md b/src/about-book.md index 4b3d251e..22d1bd28 100644 --- a/src/about-book.md +++ b/src/about-book.md @@ -66,7 +66,6 @@ Rust语言真的好:连续七年成为全世界最受欢迎的语言、没有G zongzi531