From 4ec8840a1bd2d06652deb3887d35861bd9989765 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Mon, 18 Dec 2023 06:39:01 +0100 Subject: [PATCH] bootstrapping: Clarify that stage0 std code is not executed to produce stage1 compiler The wording > When compiling `rustc`, the stage0 compiler uses the freshly compiled > `std`. can be misread as > code from `std` compiled by stage0 `rustc` is executed to produce the > stage1 `rustc`. Clarify that that is not the case. (I personally misread it that way which has had me confused for a long time.) --- src/building/bootstrapping.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/building/bootstrapping.md b/src/building/bootstrapping.md index 1f66f08f3..b6753de7d 100644 --- a/src/building/bootstrapping.md +++ b/src/building/bootstrapping.md @@ -66,7 +66,8 @@ which `x.py` will download for you. (You can also configure `x.py` to use something else.) The stage0 compiler is then used only to compile `src/bootstrap`, `std`, and `rustc`. -When compiling `rustc`, the stage0 compiler uses the freshly compiled `std`. +When assembling the libraries and binaries that will become the stage1 `rustc` +compiler, the freshly compiled `std` and `rustc` are used. There are two concepts at play here: a compiler (with its set of dependencies) and its 'target' or 'object' libraries (`std` and `rustc`).