介绍
1.
认识安全和不安全
1.1.
安全和不安全如何交互
1.2.
Unsafe Rust 能做什么
1.3.
使用 Unsafe
2.
Rust 中的数据布局
2.1.
repr(Rust)
2.2.
非正常大小的类型
2.3.
可选的数据布局
3.
所有权
3.1.
引用
3.2.
别名
3.3.
生命周期
3.4.
生命周期的局限
3.5.
生命周期推导
3.6.
不受约束的生命周期
3.7.
Higher-Rank Trait Bounds
3.8.
子类型化和变异性
3.9.
丢弃检查
3.10.
幽灵数据
3.11.
拆分 Borrows
4.
类型转换
4.1.
强转
4.2.
点运算符
4.3.
Casts
4.4.
Transmutes
5.
未初始化内存
5.1.
Checked
5.2.
丢弃标志
5.3.
Unchecked
6.
基于所有权的资源管理
6.1.
构造
6.2.
析构
6.3.
泄漏
7.
Unwinding
7.1.
异常安全
7.2.
Poisoning
8.
并发
8.1.
数据竞争
8.2.
Send 和 Sync
8.3.
Atomics
9.
实现 Vec
9.1.
布局
9.2.
分配内存
9.3.
Push 和 Pop
9.4.
释放内存
9.5.
Deref
9.6.
插入和删除
9.7.
IntoIter
9.8.
RawVec
9.9.
Drain
9.10.
处理零大小的类型
9.11.
最终代码
10.
实现 Arc 和 Mutex
10.1.
实现 Arc
10.1.1.
布局
10.1.2.
基本代码
10.1.3.
克隆
10.1.4.
丢弃
10.1.5.
最终代码
11.
外部函数接口(FFI)
12.
标准库之下
12.1.
#[panic_handler]
Light
Rust
Coal
Navy
Ayu
Rust 秘典(死灵书)
英文原版 (English)
中文译本
实现 Arc 和 Mutex
了解理论是很好的,但是理解某件事
最好
的方法是使用它。为了更好地理解原子和内部可变性,我们将实现标准库中的
Arc
和
Mutex
类型。
TODO:编写
Mutex
章节。