语言设计: Rust 的几乎规则

(灵感来自 Almost Rules.)

语法

: 后跟一个类型
  • except inside struct initializers, where it is followed by a value
  • except function result types, which are preceded by ->
泛型使用 <>
  • except in expression contexts, which uses ::<>
调用使用 ()
  • except where {} or [] is used, because “they convey important information”
    • except for macro invocations, where (){}[] are equivalent and interchangeable
T {} 初始化结构体
  • except inside an if, where { starts a branch
Rust 没有 varargs
  • except for extern functions
  • except for macros
let 引入绑定
  • except in pattern matching, where let is implied
    • except if there is a identifier with that name in scope, then it refers to it
      • except if the identifier is only a let, not a const
    • except in macro pattern matching, where identifiers are matched verbatim

语义

有总序的类型实现 EqOrd
  • except f64 and f32, which do not
结构体初始化器使用临时生命周期扩展
  • except tuple structs
    • except when using curly braces to initialize tuple structs

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注