about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser/expr.rs
diff options
context:
space:
mode:
authorJoshua Nelson <jnelson@cloudflare.com>2022-07-10 17:24:43 -0500
committerJoshua Nelson <jnelson@cloudflare.com>2022-07-10 17:50:09 -0500
commit7d4bd54f751db36a32a7d4594f075bf1a0b92bbf (patch)
tree741d63651584b541533641e7a2aad6268170fdb2 /compiler/rustc_parse/src/parser/expr.rs
parent17355a3b9f30e16870a1890033bd13463c664f81 (diff)
downloadrust-7d4bd54f751db36a32a7d4594f075bf1a0b92bbf.tar.gz
rust-7d4bd54f751db36a32a7d4594f075bf1a0b92bbf.zip
Fix `x build library/std compiler/rustc`
Previously, this was broken because of improper caching:
1. `StepDescription::maybe_run` builds `Compile::Std`, which only built `std` and not `proc_macro`
1. `Std` calls `builder.ensure(StdLink)`
1. `Rustc` calls `ensure(Std)`, which builds all crates, including `proc_macro`
1. `Rustc` calls `ensure(StdLink)`. `ensure` would see that it had already been run and do nothing.  <-- bug is here
1. Cargo gives an error that `proc_macro` doesn't exist.

This fixes the caching by adding `crates` to `StdLink`, so it will get rerun if the crates that are
built change.  This also does the same for `RustcLink`; it doesn't matter in practice currently
because nothing uses it except `impl Step for Rustc`, but it will avoid bugs if we start using it in
the future (e.g. to build individual crates for rustfmt).
Diffstat (limited to 'compiler/rustc_parse/src/parser/expr.rs')
0 files changed, 0 insertions, 0 deletions