テスト関連のその他の情報
RUSTC_BOOTSTRAP と安定性
これはブートストラップ/コンパイラの実装詳細ですが、テストにも役立つことがあります。
RUSTC_BOOTSTRAP=1は「不正に」通常の安定性チェックをバイパスし、 安定版rustcで不安定機能や CLI フラグを使用できるようにします。RUSTC_BOOTSTRAP=-1は、指定したrustcに、実際には nightlyrustcであっても 安定版コンパイラであるかのように振る舞わせます。これは、コンパイラの一部の 振る舞い(例: 診断)が、コンパイラが 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();
}