Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

テスト関連のその他の情報

RUSTC_BOOTSTRAP と安定性

これはブートストラップ/コンパイラの実装詳細ですが、テストにも役立つことがあります。

  • RUSTC_BOOTSTRAP=1 は「不正に」通常の安定性チェックをバイパスし、 安定版 rustc で不安定機能や CLI フラグを使用できるようにします。
  • RUSTC_BOOTSTRAP=-1 は、指定した rustc に、実際には nightly rustc であっても 安定版コンパイラであるかのように振る舞わせます。これは、コンパイラの一部の 振る舞い(例: 診断)が、コンパイラが nightly かどうかによって異なることがあるため便利です。

ui テストや //@ rustc-env をサポートするその他のテストスイートでは、次のように指定できます。

// 安定版 rustc で不安定機能を使用できるようにする
//@ rustc-env:RUSTC_BOOTSTRAP=1

// または nightly rustc に安定版 rustc であるかのように振る舞わせる
//@ rustc-env:RUSTC_BOOTSTRAP=-1

run-make/run-make-cargo テストでは、//@ rustc-env はサポートされていません。 個々の rustc 呼び出しについては、次のようなことができます。

use run_make_support::rustc;

fn main() {
    rustc()
        // 自分が非常に安定しているふりをする
        .env("RUSTC_BOOTSTRAP", "-1")
        //...
        .run();
}