注意: 最新版のドキュメントをご覧ください。この第2版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。

付録A: キーワード

以下のリストは、現在、あるいは将来Rust言語により使用されるために予約されているキーワードを含んでいます。 そのため、識別子として使用することはできません。識別子の例は、関数名、変数名、引数名、構造体のフィールド名、 モジュール名、クレート名、定数名、マクロ名、静的な値の名前、属性名、型名、トレイト名、ライフタイム名です。

現在使用されているキーワード

以下のキーワードは、解説された通りの機能が現状あります。

  • as - 基礎的なキャストの実行、要素を含む特定のトレイトの明確化、useextern crate文の要素名を変更する
  • break - 即座にループを抜ける
  • const - 定数要素か定数の生ポインタを定義する
  • continue - 次のループの繰り返しに継続する
  • crate - 外部のクレートかマクロが定義されているクレートを表すマクロ変数をリンクする
  • else - ifif letフロー制御構文の規定
  • enum - 列挙型を定義する
  • extern - 外部のクレート、関数、変数をリンクする
  • false - bool型のfalseリテラル
  • fn - 関数か関数ポインタ型を定義する
  • for - イテレータの要素を繰り返す、トレイトの実装、高階ライフタイムの指定
  • if - 条件式の結果によって条件分岐
  • impl - 固有の機能やトレイトの機能を実装する
  • in - forループ記法の一部
  • let - 変数を束縛する
  • loop - 無条件にループする
  • match - 値をパターンとマッチさせる
  • mod - モジュールを定義する
  • move - クロージャにキャプチャした変数全ての所有権を奪わせる
  • mut - 参照、生ポインタ、パターン束縛で可変性に言及する
  • pub - 構造体フィールド、implブロック、モジュールで公開性について言及する
  • ref - 参照で束縛する
  • return - 関数から帰る
  • Self - トレイトを実装する型の型エイリアス
  • self - メソッドの主題、または現在のモジュール
  • static - グローバル変数、またはプログラム全体に渡るライフタイム
  • struct - 構造体を定義する
  • super - 現在のモジュールの親モジュール
  • trait - トレイトを定義する
  • true - bool型のtrueリテラル
  • type - 型エイリアスか関連型を定義する
  • unsafe - unsafeなコード、関数、トレイト、実装に言及する
  • use - スコープにシンボルをインポートする
  • where - 型を制限する節に言及する
  • while - 式の結果に基づいて条件的にループする

将来的な使用のために予約されているキーワード

以下のキーワードには機能が何もないものの、将来的に使用される可能性があるので、Rustにより予約されています。

  • abstract
  • alignof
  • become
  • box
  • do
  • final
  • macro
  • offsetof
  • override
  • priv
  • proc
  • pure
  • sizeof
  • typeof
  • unsized
  • virtual
  • yield