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를 지원하는 다른 테스트 스위트에서는 다음과 같이 지정할 수 있습니다

// Force unstable features to be usable on stable rustc
//@ rustc-env:RUSTC_BOOTSTRAP=1

// Or force nightly rustc to pretend it is a stable rustc
//@ rustc-env:RUSTC_BOOTSTRAP=-1

run-make/run-make-cargo 테스트에서는 //@ rustc-env가 지원되지 않습니다. 개별 rustc 호출에는 다음과 같은 방식을 사용할 수 있습니다.

use run_make_support::rustc;

fn main() {
    rustc()
        // Pretend that I am very stable
        .env("RUSTC_BOOTSTRAP", "-1")
        //...
        .run();
}