# Miscellaneous testing-related info
## `RUSTC_BOOTSTRAP` and stability
<!-- date-check: Nov 2024 -->
This is a bootstrap/compiler implementation detail, but it can also be useful
for testing:
- `RUSTC_BOOTSTRAP=1` will "cheat" and bypass usual stability checking, allowing
you to use unstable features and cli flags on a stable `rustc`.
- `RUSTC_BOOTSTRAP=-1` will force a given `rustc` to pretend that is a stable
compiler, even if it's actually a nightly `rustc`. This is useful because some
behaviors of the compiler (e.g. diagnostics) can differ depending on whether
the compiler is nightly or not.
In `ui` tests and other test suites that support `//@ rustc-env`, you can specify
```rust,ignore
// 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
```
For `run-make` tests, `//@ rustc-env` is not supported. You can do something
like the following for individual `rustc` invocations.
```rust,ignore
use run_make_support::rustc;
fn main() {
rustc()
// Pretend that I am very stable
.env("RUSTC_BOOTSTRAP", "-1")
//...
.run();
}
```