From 424780088f53cfb292c5452f486da9f7635710ce Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Tue, 22 Sep 2020 14:27:25 -0400 Subject: [PATCH] Redo examples to be less confusing --- src/building/bootstrapping.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/building/bootstrapping.md b/src/building/bootstrapping.md index cc54714b3..841683e27 100644 --- a/src/building/bootstrapping.md +++ b/src/building/bootstrapping.md @@ -14,7 +14,7 @@ It must have been written in a different language. In Rust's case it was only way to build a modern version of rustc is a slightly less modern version. -This is exactly how `x.py` works: it downloads the current `beta` release of +This is exactly how `x.py` works: it downloads the current beta release of rustc, then uses it to compile the new compiler. ## Stages of bootstrapping @@ -134,10 +134,16 @@ The convention `x.py` uses is that: - The "stage (N+1) compiler" is assembled from "stage N artifacts". This process is called _uplifting_. -For example, `x.py build --stage 0` means to build with the beta `rustc`, and -`test --stage 0` isn't really meaningful (it's not running tests on your changes, -but on `beta`, so it always fails). Similarly, `doc --stage 0` means to -document using the beta `rustdoc`. +#### Examples + +- `x.py build --stage 0` means to build with the beta `rustc`. +- `x.py doc --stage 0` means to document using the beta `rustdoc`. +- `x.py test --stage 0 library/std` means to run tests on the standard library + without building `rustc` from source ('build with stage 0, then test the artifacts'). +- `x.py test --stage 0 src/test/ui` is not meaningful: it runs tests on the + _beta_ compiler and doesn't build `rustc` from source. + +### Building vs. Running Note that this implies the stage N compiler is _not_ the same as the compiler built by `build --stage N compiler/rustc` -- that's 'stage N artifacts'