- 简介
- 1. 符号
- 2. 词法结构
- 2.1. 输入格式
- 2.2. 关键字
- 2.3. 标识符
- 2.4. 注释
- 2.5. 空白符
- 2.6. 词法单元
- 3. 宏
- 3.1. 示例宏
- 3.2. 过程宏
- 4. 包和源文件
- 5. 条件编译
- 6. 条目
- 6.1. 模块
- 6.2. 外部包
- 6.3. use 声明
- 6.4. 函数
- 6.5. 类型别名
- 6.6. 结构体
- 6.7. 枚举
- 6.8. 联合体
- 6.9. 常量条目
- 6.10. 静态条目
- 6.11. 特征 (Traits)
- 6.12. 实现 (Implementations)
- 6.13. 外部代码块
- 6.14. 泛型参数
- 6.15. 关联条目
- 7. 属性
- 7.1. 测试
- 7.2. 派生
- 7.3. 诊断
- 7.4. 代码生成
- 7.5. 限制
- 7.6. 类型系统
- 7.7. 调试器
- 8. 语句和表达式
- 8.1. 语句
- 8.2. 表达式
- 8.2.1. 字面量表达式
- 8.2.2. 路径表达式
- 8.2.3. 代码块表达式
- 8.2.4. 运算符表达式
- 8.2.5. 分组表达式
- 8.2.6. 数组和索引表达式
- 8.2.7. 元组和索引表达式
- 8.2.8. 结构体表达式
- 8.2.9. 调用表达式
- 8.2.10. 方法调用表达式
- 8.2.11. 字段访问表达式
- 8.2.12. 闭包表达式
- 8.2.13. 循环表达式
- 8.2.14. 范围表达式
- 8.2.15. if 和 if let 表达式
- 8.2.16. match 表达式
- 8.2.17. return 表达式
- 8.2.18. await 表达式
- 8.2.19. 下划线表达式
- 9. 模式
- 10. 类型系统
- 10.1. 类型
- 10.1.1. 布尔类型
- 10.1.2. 数值类型
- 10.1.3. 文本类型
- 10.1.4. Never 类型
- 10.1.5. 元组类型
- 10.1.6. 数组类型
- 10.1.7. 切片类型
- 10.1.8. 结构体类型
- 10.1.9. 枚举类型
- 10.1.10. 联合体类型
- 10.1.11. 函数项类型
- 10.1.12. 闭包类型
- 10.1.13. 指针类型
- 10.1.14. 函数指针类型
- 10.1.15. Trait 对象类型
- 10.1.16. Impl Trait 类型
- 10.1.17. 类型参数
- 10.1.18. 推断类型
- 10.2. 动态大小类型
- 10.3. 类型布局
- 10.4. 内部可变性
- 10.5. 子类型和变型
- 10.6. Trait 和生命周期边界
- 10.7. 类型强制转换
- 10.8. 析构器
- 10.9. 生命周期省略
- 11. 特殊类型和特征
- 12. 名称
- 12.1. 命名空间
- 12.2. 作用域
- 12.3. 序曲
- 12.4. 路径
- 12.5. 名称解析
- 12.6. 可见性和隐私
- 13. 内存模型
- 13.1. 内存分配和生命周期
- 13.2. 变量
- 14. 链接
- 15. 内联汇编
- 16. 不安全
- 16.1. unsafe 关键字
- 16.2. 被认为是未定义的行为
- 16.3. 不被认为是不安全的行为
- 17. 常量求值
- 18. 应用程序二进制接口
- 19. Rust 运行时
- 20. 附录
- 20.1. 宏后继集歧义形式规范
- 20.2. 影响
- 20.3. 测试总结
- 20.4. 术语表