Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename sysroot directories to be more clear #103286

Closed
wants to merge 24 commits into from

Conversation

chetankokil
Copy link

@chetankokil chetankokil commented Oct 20, 2022

Fixes #101961

@rustbot rustbot added the T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) label Oct 20, 2022
@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @jyn514 (or someone else) soon.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 20, 2022
@rustbot rustbot assigned chetankokil and unassigned jyn514 Oct 20, 2022
@jyn514
Copy link
Member

jyn514 commented Oct 20, 2022

@chetankokil these changes don't look correct. Is there something about the instructions in #101961 (comment) you found confusing?

@jyn514 jyn514 assigned jyn514 and unassigned chetankokil Oct 20, 2022
@jyn514 jyn514 added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 20, 2022
@chetankokil
Copy link
Author

@chetankokil these changes don't look correct. Is there something about the instructions in #101961 (comment) you found confusing?

apologies , read the comments in wrong manner. Made the changes now as per the comments. hope this looks good.'
@jyn514

@chetankokil
Copy link
Author

@rustbot unclaim

Copy link
Member

@jyn514 jyn514 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! This looks a lot better. Can you also add a line to src/bootstrap/CHANGELOG.md explaining that this will break rustup toolchain link toolchains and giving upgrade instructions? Please also bump MAJOR_VERSION in src/bootstrap/bin/bootstrap.rs and the changelog.

src/bootstrap/compile.rs Outdated Show resolved Hide resolved
@jyn514
Copy link
Member

jyn514 commented Oct 20, 2022

@chetankokil why did you close this pr?

@rust-log-analyzer

This comment has been minimized.

@chetankokil chetankokil reopened this Oct 20, 2022
@chetankokil
Copy link
Author

@chetankokil why did you close this pr?

sir the build is failing. not sure how to resolve the rustc not found issue. @jyn514 . if you can help me with that i will continue with the change

@rust-log-analyzer

This comment has been minimized.

@jyn514
Copy link
Member

jyn514 commented Oct 20, 2022

@chetankokil I think you also need to update

let bin_root = config.out.join(host.triple).join("stage0");

let bin_root = builder.config.out.join(host.triple).join("stage0");

and
download_component(builder, DownloadSource::Dist, filename, "rustfmt-preview", &date, "stage0");

@chetankokil
Copy link
Author

@chetankokil I think you also need to update

let bin_root = config.out.join(host.triple).join("stage0");

let bin_root = builder.config.out.join(host.triple).join("stage0");

and

download_component(builder, DownloadSource::Dist, filename, "rustfmt-preview", &date, "stage0");

Done. And added to the PR

@jyn514
Copy link
Member

jyn514 commented Oct 31, 2022

Hi @chetankokil , the code here looks good, you just need to make a PR to the dev guide like I suggested in #103286 (comment) . Once you do that we can merge this change :)

src/bootstrap/CHANGELOG.md Outdated Show resolved Hide resolved
jdno added a commit to jdno/rust-simpleinfra that referenced this pull request Nov 2, 2022
The directory names for the stages are changing in version 3 of the
boostrapping (see rust-lang/rust#103286). We are
checking the version now to create the correct dummy directories.
@bors
Copy link
Contributor

bors commented Nov 14, 2022

☔ The latest upstream changes (presumably #104188) made this pull request unmergeable. Please resolve the merge conflicts.

@jyn514
Copy link
Member

jyn514 commented Nov 17, 2022

Ok, docs PR is up: rust-lang/rustc-dev-guide#1510

@Mark-Simulacrum do you have opinions on this before I merge it? I think it might be useful to make a blog post, since this is going to break a bunch of workflows? I did bump the major version but I worry people won't actually read the changelog.

@jyn514 jyn514 assigned Mark-Simulacrum and unassigned jyn514 Nov 17, 2022
@jyn514 jyn514 added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Nov 17, 2022
@Mark-Simulacrum
Copy link
Member

Yes, I think something is in order messaging wise. I'll take a look at my next review cycle, probably this weekend.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-13 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
...
1691 | }
     |   ^

error[E0433]: failed to resolve: use of undeclared type `DownloadSource`
     |
1666 |         DownloadSource::Dist,
1666 |         DownloadSource::Dist,
     |         ^^^^^^^^^^^^^^ use of undeclared type `DownloadSource`
error[E0425]: cannot find value `threads_from_config` in this scope
   --> config.rs:832:38
    |
    |
832 |         config.jobs = flags.jobs.map(threads_from_config);
    |
help: consider using the associated function
    |
    |
832 |         config.jobs = flags.jobs.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1202:64
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1203:72
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(Self::threads_from_config);

error[E0412]: cannot find type `Builder` in this scope
    --> config.rs:1651:37
     |
     |
514  |         struct $name {
     |         ------------ similarly named struct `Build` defined here
...
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     |
help: a struct with a similar name exists
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Build<'_>) -> Option<PathBuf> {
help: consider importing one of these items
     |
6    | use crate::builder::Builder;
     |
---

error[E0425]: cannot find function `program_out_of_date` in this scope
    --> config.rs:1659:34
     |
1659 |     if rustfmt_path.exists() && !program_out_of_date(&rustfmt_stamp, &channel) {
     |
help: consider importing this function
     |
6    | use crate::util::program_out_of_date;
6    | use crate::util::program_out_of_date;
     |

error[E0592]: duplicate definitions with name `maybe_download_rustfmt`
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `maybe_download_rustfmt`
    ::: download.rs:316:5
     |
     |
316  |     pub(crate) fn maybe_download_rustfmt(&self) -> Option<PathBuf> {
     |     -------------------------------------------------------------- other definition for `maybe_download_rustfmt`
error[E0425]: cannot find function `sysroot_dir` in this scope
    --> compile.rs:1144:31
     |
1144 |                     let dir = sysroot_dir(stage);
1144 |                     let dir = sysroot_dir(stage);
     |                               ^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `set` in this scope
   --> config.rs:962:9
    |
962 |         set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));
    |
help: consider using the associated function
    |
    |
962 |         Self::set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1006:9
     |
     |
1006 |         set(&mut config.low_priority, build.low_priority);
     |
help: consider using the associated function
     |
     |
1006 |         Self::set(&mut config.low_priority, build.low_priority);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1007:9
     |
     |
1007 |         set(&mut config.compiler_docs, build.compiler_docs);
     |
help: consider using the associated function
     |
     |
1007 |         Self::set(&mut config.compiler_docs, build.compiler_docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1008:9
     |
     |
1008 |         set(&mut config.docs_minification, build.docs_minification);
     |
help: consider using the associated function
     |
     |
1008 |         Self::set(&mut config.docs_minification, build.docs_minification);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1009:9
     |
     |
1009 |         set(&mut config.docs, build.docs);
     |
help: consider using the associated function
     |
     |
1009 |         Self::set(&mut config.docs, build.docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1010:9
     |
     |
1010 |         set(&mut config.locked_deps, build.locked_deps);
     |
help: consider using the associated function
     |
     |
1010 |         Self::set(&mut config.locked_deps, build.locked_deps);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1011:9
     |
     |
1011 |         set(&mut config.vendor, build.vendor);
     |
help: consider using the associated function
     |
     |
1011 |         Self::set(&mut config.vendor, build.vendor);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1012:9
     |
     |
1012 |         set(&mut config.full_bootstrap, build.full_bootstrap);
     |
help: consider using the associated function
     |
     |
1012 |         Self::set(&mut config.full_bootstrap, build.full_bootstrap);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1013:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1015:9
     |
1015 |         set(&mut config.verbose, build.verbose);
     |
help: consider using the associated function
     |
     |
1015 |         Self::set(&mut config.verbose, build.verbose);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1016:9
     |
     |
1016 |         set(&mut config.sanitizers, build.sanitizers);
     |
help: consider using the associated function
     |
     |
1016 |         Self::set(&mut config.sanitizers, build.sanitizers);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1017:9
     |
     |
1017 |         set(&mut config.profiler, build.profiler);
     |
help: consider using the associated function
     |
     |
1017 |         Self::set(&mut config.profiler, build.profiler);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1018:9
     |
     |
1018 |         set(&mut config.cargo_native_static, build.cargo_native_static);
     |
help: consider using the associated function
     |
     |
1018 |         Self::set(&mut config.cargo_native_static, build.cargo_native_static);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1019:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1020:9
     |
1020 |         set(&mut config.local_rebuild, build.local_rebuild);
     |
help: consider using the associated function
     |
     |
1020 |         Self::set(&mut config.local_rebuild, build.local_rebuild);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1021:9
     |
     |
1021 |         set(&mut config.print_step_timings, build.print_step_timings);
     |
help: consider using the associated function
     |
     |
1021 |         Self::set(&mut config.print_step_timings, build.print_step_timings);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1022:9
     |
     |
1022 |         set(&mut config.print_step_rusage, build.print_step_rusage);
     |
help: consider using the associated function
     |
     |
1022 |         Self::set(&mut config.print_step_rusage, build.print_step_rusage);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1023:9
     |
     |
1023 |         set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);
     |
help: consider using the associated function
     |
     |
1023 |         Self::set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1032:13
     |
     |
1032 |             set(&mut config.bindir, install.bindir.map(PathBuf::from));
     |
help: consider using the associated function
     |
     |
1032 |             Self::set(&mut config.bindir, install.bindir.map(PathBuf::from));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1069:13
     |
     |
1069 |             set(&mut config.ninja_in_file, llvm.ninja);
     |
help: consider using the associated function
     |
     |
1069 |             Self::set(&mut config.ninja_in_file, llvm.ninja);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1074:13
     |
     |
1074 |             set(&mut config.llvm_optimize, llvm.optimize);
     |
help: consider using the associated function
     |
     |
1074 |             Self::set(&mut config.llvm_optimize, llvm.optimize);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1075:13
     |
     |
1075 |             set(&mut config.llvm_thin_lto, llvm.thin_lto);
     |
help: consider using the associated function
     |
     |
1075 |             Self::set(&mut config.llvm_thin_lto, llvm.thin_lto);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1076:13
     |
     |
1076 |             set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);
     |
help: consider using the associated function
     |
     |
1076 |             Self::set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1077:13
     |
     |
1077 |             set(&mut config.llvm_version_check, llvm.version_check);
     |
help: consider using the associated function
     |
     |
1077 |             Self::set(&mut config.llvm_version_check, llvm.version_check);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1078:13
     |
     |
1078 |             set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);
     |
help: consider using the associated function
     |
     |
1078 |             Self::set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1091:13
     |
     |
1091 |             set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
     |
help: consider using the associated function
     |
     |
1091 |             Self::set(&mut config.llvm_use_libcxx, llvm.use_libcxx);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1166:13
     |
     |
1166 |             set(&mut config.rust_optimize_tests, rust.optimize_tests);
     |
help: consider using the associated function
     |
     |
1166 |             Self::set(&mut config.rust_optimize_tests, rust.optimize_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1167:13
     |
     |
1167 |             set(&mut config.codegen_tests, rust.codegen_tests);
     |
help: consider using the associated function
     |
     |
1167 |             Self::set(&mut config.codegen_tests, rust.codegen_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1168:13
     |
     |
1168 |             set(&mut config.rust_rpath, rust.rpath);
     |
help: consider using the associated function
     |
     |
1168 |             Self::set(&mut config.rust_rpath, rust.rpath);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1169:13
     |
     |
1169 |             set(&mut config.jemalloc, rust.jemalloc);
     |
help: consider using the associated function
     |
     |
1169 |             Self::set(&mut config.jemalloc, rust.jemalloc);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1170:13
     |
     |
1170 |             set(&mut config.test_compare_mode, rust.test_compare_mode);
     |             ^^^ not found in this scope
     |
help: consider using the associated function
     |
1170 |             Self::set(&mut config.test_compare_mode, rust.test_compare_mode);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1171:13
     |
     |
1171 |             set(&mut config.backtrace, rust.backtrace);
     |
help: consider using the associated function
     |
     |
1171 |             Self::set(&mut config.backtrace, rust.backtrace);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1172:13
     |
     |
1172 |             set(&mut config.channel, rust.channel);
     |
help: consider using the associated function
     |
     |
1172 |             Self::set(&mut config.channel, rust.channel);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1174:13
     |
     |
1174 |             set(&mut config.rust_dist_src, rust.dist_src);
     |
help: consider using the associated function
     |
     |
1174 |             Self::set(&mut config.rust_dist_src, rust.dist_src);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1175:13
     |
     |
1175 |             set(&mut config.verbose_tests, rust.verbose_tests);
     |
help: consider using the associated function
     |
     |
1175 |             Self::set(&mut config.verbose_tests, rust.verbose_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1180:13
     |
     |
1180 |             set(&mut config.use_lld, rust.use_lld);
     |
help: consider using the associated function
     |
     |
1180 |             Self::set(&mut config.use_lld, rust.use_lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1181:13
     |
     |
1181 |             set(&mut config.lld_enabled, rust.lld);
     |
help: consider using the associated function
     |
     |
1181 |             Self::set(&mut config.lld_enabled, rust.lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1182:13
     |
     |
1182 |             set(&mut config.llvm_tools_enabled, rust.llvm_tools);
     |
help: consider using the associated function
     |
     |
1182 |             Self::set(&mut config.llvm_tools_enabled, rust.llvm_tools);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1187:13
     |
     |
1187 |             set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
     |
help: consider using the associated function
     |
     |
1187 |             Self::set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1188:13
     |
     |
1188 |             set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
     |
help: consider using the associated function
     |
     |
1188 |             Self::set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1189:13
     |
     |
1189 |             set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);
     |
help: consider using the associated function
     |
     |
1189 |             Self::set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1191:13
     |
     |
1191 |             set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);
     |
help: consider using the associated function
     |
     |
1191 |             Self::set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1192:13
     |
     |
1192 |             set(&mut config.control_flow_guard, rust.control_flow_guard);
     |
help: consider using the associated function
     |
     |
1192 |             Self::set(&mut config.control_flow_guard, rust.control_flow_guard);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1278:13
     |
     |
1278 |             set(&mut config.rust_dist_src, t.src_tarball);
     |
help: consider using the associated function
     |
     |
1278 |             Self::set(&mut config.rust_dist_src, t.src_tarball);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1279:13
     |
     |
1279 |             set(&mut config.missing_tools, t.missing_tools);
     |
help: consider using the associated function
     |
     |
1279 |             Self::set(&mut config.missing_tools, t.missing_tools);

error[E0425]: cannot find function `download_component` in this scope
    --> config.rs:1664:5
     |
---
...
1691 | }
     |   ^

error[E0433]: failed to resolve: use of undeclared type `DownloadSource`
     |
1666 |         DownloadSource::Dist,
1666 |         DownloadSource::Dist,
     |         ^^^^^^^^^^^^^^ use of undeclared type `DownloadSource`
error[E0425]: cannot find value `threads_from_config` in this scope
   --> config.rs:832:38
    |
    |
832 |         config.jobs = flags.jobs.map(threads_from_config);
    |
help: consider using the associated function
    |
    |
832 |         config.jobs = flags.jobs.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1202:64
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1203:72
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(Self::threads_from_config);

error[E0412]: cannot find type `Builder` in this scope
    --> config.rs:1651:37
     |
     |
514  |         struct $name {
     |         ------------ similarly named struct `Build` defined here
...
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     |
help: a struct with a similar name exists
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Build<'_>) -> Option<PathBuf> {
help: consider importing one of these items
     |
6    | use crate::builder::Builder;
     |
---

error[E0425]: cannot find function `program_out_of_date` in this scope
    --> config.rs:1659:34
     |
1659 |     if rustfmt_path.exists() && !program_out_of_date(&rustfmt_stamp, &channel) {
     |
help: consider importing this function
     |
6    | use crate::util::program_out_of_date;
6    | use crate::util::program_out_of_date;
     |

error[E0592]: duplicate definitions with name `maybe_download_rustfmt`
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `maybe_download_rustfmt`
    ::: download.rs:316:5
     |
     |
316  |     pub(crate) fn maybe_download_rustfmt(&self) -> Option<PathBuf> {
     |     -------------------------------------------------------------- other definition for `maybe_download_rustfmt`
error[E0425]: cannot find function `sysroot_dir` in this scope
    --> compile.rs:1144:31
     |
1144 |                     let dir = sysroot_dir(stage);
1144 |                     let dir = sysroot_dir(stage);
     |                               ^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `set` in this scope
   --> config.rs:962:9
    |
962 |         set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));
    |
help: consider using the associated function
    |
    |
962 |         Self::set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1006:9
     |
     |
1006 |         set(&mut config.low_priority, build.low_priority);
     |
help: consider using the associated function
     |
     |
1006 |         Self::set(&mut config.low_priority, build.low_priority);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1007:9
     |
     |
1007 |         set(&mut config.compiler_docs, build.compiler_docs);
     |
help: consider using the associated function
     |
     |
1007 |         Self::set(&mut config.compiler_docs, build.compiler_docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1008:9
     |
     |
1008 |         set(&mut config.docs_minification, build.docs_minification);
     |
help: consider using the associated function
     |
     |
1008 |         Self::set(&mut config.docs_minification, build.docs_minification);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1009:9
     |
     |
1009 |         set(&mut config.docs, build.docs);
     |
help: consider using the associated function
     |
     |
1009 |         Self::set(&mut config.docs, build.docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1010:9
     |
     |
1010 |         set(&mut config.locked_deps, build.locked_deps);
     |
help: consider using the associated function
     |
     |
1010 |         Self::set(&mut config.locked_deps, build.locked_deps);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1011:9
     |
     |
1011 |         set(&mut config.vendor, build.vendor);
     |
help: consider using the associated function
     |
     |
1011 |         Self::set(&mut config.vendor, build.vendor);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1012:9
     |
     |
1012 |         set(&mut config.full_bootstrap, build.full_bootstrap);
     |
help: consider using the associated function
     |
     |
1012 |         Self::set(&mut config.full_bootstrap, build.full_bootstrap);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1013:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1015:9
     |
1015 |         set(&mut config.verbose, build.verbose);
     |
help: consider using the associated function
     |
     |
1015 |         Self::set(&mut config.verbose, build.verbose);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1016:9
     |
     |
1016 |         set(&mut config.sanitizers, build.sanitizers);
     |
help: consider using the associated function
     |
     |
1016 |         Self::set(&mut config.sanitizers, build.sanitizers);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1017:9
     |
     |
1017 |         set(&mut config.profiler, build.profiler);
     |
help: consider using the associated function
     |
     |
1017 |         Self::set(&mut config.profiler, build.profiler);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1018:9
     |
     |
1018 |         set(&mut config.cargo_native_static, build.cargo_native_static);
     |
help: consider using the associated function
     |
     |
1018 |         Self::set(&mut config.cargo_native_static, build.cargo_native_static);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1019:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1020:9
     |
1020 |         set(&mut config.local_rebuild, build.local_rebuild);
     |
help: consider using the associated function
     |
     |
1020 |         Self::set(&mut config.local_rebuild, build.local_rebuild);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1021:9
     |
     |
1021 |         set(&mut config.print_step_timings, build.print_step_timings);
     |
help: consider using the associated function
     |
     |
1021 |         Self::set(&mut config.print_step_timings, build.print_step_timings);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1022:9
     |
     |
1022 |         set(&mut config.print_step_rusage, build.print_step_rusage);
     |
help: consider using the associated function
     |
     |
1022 |         Self::set(&mut config.print_step_rusage, build.print_step_rusage);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1023:9
     |
     |
1023 |         set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);
     |
help: consider using the associated function
     |
     |
1023 |         Self::set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1032:13
     |
     |
1032 |             set(&mut config.bindir, install.bindir.map(PathBuf::from));
     |
help: consider using the associated function
     |
     |
1032 |             Self::set(&mut config.bindir, install.bindir.map(PathBuf::from));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1069:13
     |
     |
1069 |             set(&mut config.ninja_in_file, llvm.ninja);
     |
help: consider using the associated function
     |
     |
1069 |             Self::set(&mut config.ninja_in_file, llvm.ninja);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1074:13
     |
     |
1074 |             set(&mut config.llvm_optimize, llvm.optimize);
     |
help: consider using the associated function
     |
     |
1074 |             Self::set(&mut config.llvm_optimize, llvm.optimize);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1075:13
     |
     |
1075 |             set(&mut config.llvm_thin_lto, llvm.thin_lto);
     |
help: consider using the associated function
     |
     |
1075 |             Self::set(&mut config.llvm_thin_lto, llvm.thin_lto);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1076:13
     |
     |
1076 |             set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);
     |
help: consider using the associated function
     |
     |
1076 |             Self::set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1077:13
     |
     |
1077 |             set(&mut config.llvm_version_check, llvm.version_check);
     |
help: consider using the associated function
     |
     |
1077 |             Self::set(&mut config.llvm_version_check, llvm.version_check);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1078:13
     |
     |
1078 |             set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);
     |
help: consider using the associated function
     |
     |
1078 |             Self::set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1091:13
     |
     |
1091 |             set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
     |
help: consider using the associated function
     |
     |
1091 |             Self::set(&mut config.llvm_use_libcxx, llvm.use_libcxx);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1166:13
     |
     |
1166 |             set(&mut config.rust_optimize_tests, rust.optimize_tests);
     |
help: consider using the associated function
     |
     |
1166 |             Self::set(&mut config.rust_optimize_tests, rust.optimize_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1167:13
     |
     |
1167 |             set(&mut config.codegen_tests, rust.codegen_tests);
     |
help: consider using the associated function
     |
     |
1167 |             Self::set(&mut config.codegen_tests, rust.codegen_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1168:13
     |
     |
1168 |             set(&mut config.rust_rpath, rust.rpath);
     |
help: consider using the associated function
     |
     |
1168 |             Self::set(&mut config.rust_rpath, rust.rpath);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1169:13
     |
     |
1169 |             set(&mut config.jemalloc, rust.jemalloc);
     |
help: consider using the associated function
     |
     |
1169 |             Self::set(&mut config.jemalloc, rust.jemalloc);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1170:13
     |
     |
1170 |             set(&mut config.test_compare_mode, rust.test_compare_mode);
     |             ^^^ not found in this scope
     |
help: consider using the associated function
     |
1170 |             Self::set(&mut config.test_compare_mode, rust.test_compare_mode);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1171:13
     |
     |
1171 |             set(&mut config.backtrace, rust.backtrace);
     |
help: consider using the associated function
     |
     |
1171 |             Self::set(&mut config.backtrace, rust.backtrace);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1172:13
     |
     |
1172 |             set(&mut config.channel, rust.channel);
     |
help: consider using the associated function
     |
     |
1172 |             Self::set(&mut config.channel, rust.channel);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1174:13
     |
     |
1174 |             set(&mut config.rust_dist_src, rust.dist_src);
     |
help: consider using the associated function
     |
     |
1174 |             Self::set(&mut config.rust_dist_src, rust.dist_src);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1175:13
     |
     |
1175 |             set(&mut config.verbose_tests, rust.verbose_tests);
     |
help: consider using the associated function
     |
     |
1175 |             Self::set(&mut config.verbose_tests, rust.verbose_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1180:13
     |
     |
1180 |             set(&mut config.use_lld, rust.use_lld);
     |
help: consider using the associated function
     |
     |
1180 |             Self::set(&mut config.use_lld, rust.use_lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1181:13
     |
     |
1181 |             set(&mut config.lld_enabled, rust.lld);
     |
help: consider using the associated function
     |
     |
1181 |             Self::set(&mut config.lld_enabled, rust.lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1182:13
     |
     |
1182 |             set(&mut config.llvm_tools_enabled, rust.llvm_tools);
     |
help: consider using the associated function
     |
     |
1182 |             Self::set(&mut config.llvm_tools_enabled, rust.llvm_tools);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1187:13
     |
     |
1187 |             set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
     |
help: consider using the associated function
     |
     |
1187 |             Self::set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1188:13
     |
     |
1188 |             set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
     |
help: consider using the associated function
     |
     |
1188 |             Self::set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1189:13
     |
     |
1189 |             set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);
     |
help: consider using the associated function
     |
     |
1189 |             Self::set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1191:13
     |
     |
1191 |             set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);
     |
help: consider using the associated function
     |
     |
1191 |             Self::set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1192:13
     |
     |
1192 |             set(&mut config.control_flow_guard, rust.control_flow_guard);
     |
help: consider using the associated function
     |
     |
1192 |             Self::set(&mut config.control_flow_guard, rust.control_flow_guard);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1278:13
     |
     |
1278 |             set(&mut config.rust_dist_src, t.src_tarball);
     |
help: consider using the associated function
     |
     |
1278 |             Self::set(&mut config.rust_dist_src, t.src_tarball);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1279:13
     |
     |
1279 |             set(&mut config.missing_tools, t.missing_tools);
     |
help: consider using the associated function
     |
     |
1279 |             Self::set(&mut config.missing_tools, t.missing_tools);

error[E0425]: cannot find function `download_component` in this scope
    --> config.rs:1664:5
     |
---
...
1691 | }
     |   ^

error[E0433]: failed to resolve: use of undeclared type `DownloadSource`
     |
1666 |         DownloadSource::Dist,
1666 |         DownloadSource::Dist,
     |         ^^^^^^^^^^^^^^ use of undeclared type `DownloadSource`
error[E0425]: cannot find value `threads_from_config` in this scope
   --> config.rs:832:38
    |
    |
832 |         config.jobs = flags.jobs.map(threads_from_config);
    |
help: consider using the associated function
    |
    |
832 |         config.jobs = flags.jobs.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1202:64
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1203:72
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(Self::threads_from_config);

error[E0412]: cannot find type `Builder` in this scope
    --> config.rs:1651:37
     |
     |
514  |         struct $name {
     |         ------------ similarly named struct `Build` defined here
...
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     |
help: a struct with a similar name exists
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Build<'_>) -> Option<PathBuf> {
help: consider importing one of these items
     |
6    | use crate::builder::Builder;
     |
---

error[E0425]: cannot find function `program_out_of_date` in this scope
    --> config.rs:1659:34
     |
1659 |     if rustfmt_path.exists() && !program_out_of_date(&rustfmt_stamp, &channel) {
     |
help: consider importing this function
     |
6    | use crate::util::program_out_of_date;
6    | use crate::util::program_out_of_date;
     |

error[E0592]: duplicate definitions with name `maybe_download_rustfmt`
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `maybe_download_rustfmt`
    ::: download.rs:316:5
     |
     |
316  |     pub(crate) fn maybe_download_rustfmt(&self) -> Option<PathBuf> {
     |     -------------------------------------------------------------- other definition for `maybe_download_rustfmt`
error[E0425]: cannot find function `sysroot_dir` in this scope
    --> compile.rs:1144:31
     |
1144 |                     let dir = sysroot_dir(stage);
1144 |                     let dir = sysroot_dir(stage);
     |                               ^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `set` in this scope
   --> config.rs:962:9
    |
962 |         set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));
    |
help: consider using the associated function
    |
    |
962 |         Self::set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1006:9
     |
     |
1006 |         set(&mut config.low_priority, build.low_priority);
     |
help: consider using the associated function
     |
     |
1006 |         Self::set(&mut config.low_priority, build.low_priority);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1007:9
     |
     |
1007 |         set(&mut config.compiler_docs, build.compiler_docs);
     |
help: consider using the associated function
     |
     |
1007 |         Self::set(&mut config.compiler_docs, build.compiler_docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1008:9
     |
     |
1008 |         set(&mut config.docs_minification, build.docs_minification);
     |
help: consider using the associated function
     |
     |
1008 |         Self::set(&mut config.docs_minification, build.docs_minification);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1009:9
     |
     |
1009 |         set(&mut config.docs, build.docs);
     |
help: consider using the associated function
     |
     |
1009 |         Self::set(&mut config.docs, build.docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1010:9
     |
     |
1010 |         set(&mut config.locked_deps, build.locked_deps);
     |
help: consider using the associated function
     |
     |
1010 |         Self::set(&mut config.locked_deps, build.locked_deps);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1011:9
     |
     |
1011 |         set(&mut config.vendor, build.vendor);
     |
help: consider using the associated function
     |
     |
1011 |         Self::set(&mut config.vendor, build.vendor);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1012:9
     |
     |
1012 |         set(&mut config.full_bootstrap, build.full_bootstrap);
     |
help: consider using the associated function
     |
     |
1012 |         Self::set(&mut config.full_bootstrap, build.full_bootstrap);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1013:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1015:9
     |
1015 |         set(&mut config.verbose, build.verbose);
     |
help: consider using the associated function
     |
     |
1015 |         Self::set(&mut config.verbose, build.verbose);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1016:9
     |
     |
1016 |         set(&mut config.sanitizers, build.sanitizers);
     |
help: consider using the associated function
     |
     |
1016 |         Self::set(&mut config.sanitizers, build.sanitizers);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1017:9
     |
     |
1017 |         set(&mut config.profiler, build.profiler);
     |
help: consider using the associated function
     |
     |
1017 |         Self::set(&mut config.profiler, build.profiler);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1018:9
     |
     |
1018 |         set(&mut config.cargo_native_static, build.cargo_native_static);
     |
help: consider using the associated function
     |
     |
1018 |         Self::set(&mut config.cargo_native_static, build.cargo_native_static);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1019:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1020:9
     |
1020 |         set(&mut config.local_rebuild, build.local_rebuild);
     |
help: consider using the associated function
     |
     |
1020 |         Self::set(&mut config.local_rebuild, build.local_rebuild);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1021:9
     |
     |
1021 |         set(&mut config.print_step_timings, build.print_step_timings);
     |
help: consider using the associated function
     |
     |
1021 |         Self::set(&mut config.print_step_timings, build.print_step_timings);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1022:9
     |
     |
1022 |         set(&mut config.print_step_rusage, build.print_step_rusage);
     |
help: consider using the associated function
     |
     |
1022 |         Self::set(&mut config.print_step_rusage, build.print_step_rusage);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1023:9
     |
     |
1023 |         set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);
     |
help: consider using the associated function
     |
     |
1023 |         Self::set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1032:13
     |
     |
1032 |             set(&mut config.bindir, install.bindir.map(PathBuf::from));
     |
help: consider using the associated function
     |
     |
1032 |             Self::set(&mut config.bindir, install.bindir.map(PathBuf::from));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1069:13
     |
     |
1069 |             set(&mut config.ninja_in_file, llvm.ninja);
     |
help: consider using the associated function
     |
     |
1069 |             Self::set(&mut config.ninja_in_file, llvm.ninja);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1074:13
     |
     |
1074 |             set(&mut config.llvm_optimize, llvm.optimize);
     |
help: consider using the associated function
     |
     |
1074 |             Self::set(&mut config.llvm_optimize, llvm.optimize);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1075:13
     |
     |
1075 |             set(&mut config.llvm_thin_lto, llvm.thin_lto);
     |
help: consider using the associated function
     |
     |
1075 |             Self::set(&mut config.llvm_thin_lto, llvm.thin_lto);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1076:13
     |
     |
1076 |             set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);
     |
help: consider using the associated function
     |
     |
1076 |             Self::set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1077:13
     |
     |
1077 |             set(&mut config.llvm_version_check, llvm.version_check);
     |
help: consider using the associated function
     |
     |
1077 |             Self::set(&mut config.llvm_version_check, llvm.version_check);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1078:13
     |
     |
1078 |             set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);
     |
help: consider using the associated function
     |
     |
1078 |             Self::set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1091:13
     |
     |
1091 |             set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
     |
help: consider using the associated function
     |
     |
1091 |             Self::set(&mut config.llvm_use_libcxx, llvm.use_libcxx);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1166:13
     |
     |
1166 |             set(&mut config.rust_optimize_tests, rust.optimize_tests);
     |
help: consider using the associated function
     |
     |
1166 |             Self::set(&mut config.rust_optimize_tests, rust.optimize_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1167:13
     |
     |
1167 |             set(&mut config.codegen_tests, rust.codegen_tests);
     |
help: consider using the associated function
     |
     |
1167 |             Self::set(&mut config.codegen_tests, rust.codegen_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1168:13
     |
     |
1168 |             set(&mut config.rust_rpath, rust.rpath);
     |
help: consider using the associated function
     |
     |
1168 |             Self::set(&mut config.rust_rpath, rust.rpath);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1169:13
     |
     |
1169 |             set(&mut config.jemalloc, rust.jemalloc);
     |
help: consider using the associated function
     |
     |
1169 |             Self::set(&mut config.jemalloc, rust.jemalloc);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1170:13
     |
     |
1170 |             set(&mut config.test_compare_mode, rust.test_compare_mode);
     |             ^^^ not found in this scope
     |
help: consider using the associated function
     |
1170 |             Self::set(&mut config.test_compare_mode, rust.test_compare_mode);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1171:13
     |
     |
1171 |             set(&mut config.backtrace, rust.backtrace);
     |
help: consider using the associated function
     |
     |
1171 |             Self::set(&mut config.backtrace, rust.backtrace);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1172:13
     |
     |
1172 |             set(&mut config.channel, rust.channel);
     |
help: consider using the associated function
     |
     |
1172 |             Self::set(&mut config.channel, rust.channel);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1174:13
     |
     |
1174 |             set(&mut config.rust_dist_src, rust.dist_src);
     |
help: consider using the associated function
     |
     |
1174 |             Self::set(&mut config.rust_dist_src, rust.dist_src);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1175:13
     |
     |
1175 |             set(&mut config.verbose_tests, rust.verbose_tests);
     |
help: consider using the associated function
     |
     |
1175 |             Self::set(&mut config.verbose_tests, rust.verbose_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1180:13
     |
     |
1180 |             set(&mut config.use_lld, rust.use_lld);
     |
help: consider using the associated function
     |
     |
1180 |             Self::set(&mut config.use_lld, rust.use_lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1181:13
     |
     |
1181 |             set(&mut config.lld_enabled, rust.lld);
     |
help: consider using the associated function
     |
     |
1181 |             Self::set(&mut config.lld_enabled, rust.lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1182:13
     |
     |
1182 |             set(&mut config.llvm_tools_enabled, rust.llvm_tools);
     |
help: consider using the associated function
     |
     |
1182 |             Self::set(&mut config.llvm_tools_enabled, rust.llvm_tools);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1187:13
     |
     |
1187 |             set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
     |
help: consider using the associated function
     |
     |
1187 |             Self::set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1188:13
     |
     |
1188 |             set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
     |
help: consider using the associated function
     |
     |
1188 |             Self::set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1189:13
     |
     |
1189 |             set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);
     |
help: consider using the associated function
     |
     |
1189 |             Self::set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1191:13
     |
     |
1191 |             set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);
     |
help: consider using the associated function
     |
     |
1191 |             Self::set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1192:13
     |
     |
1192 |             set(&mut config.control_flow_guard, rust.control_flow_guard);
     |
help: consider using the associated function
     |
     |
1192 |             Self::set(&mut config.control_flow_guard, rust.control_flow_guard);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1278:13
     |
     |
1278 |             set(&mut config.rust_dist_src, t.src_tarball);
     |
help: consider using the associated function
     |
     |
1278 |             Self::set(&mut config.rust_dist_src, t.src_tarball);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1279:13
     |
     |
1279 |             set(&mut config.missing_tools, t.missing_tools);
     |
help: consider using the associated function
     |
     |
1279 |             Self::set(&mut config.missing_tools, t.missing_tools);

error[E0425]: cannot find function `download_component` in this scope
    --> config.rs:1664:5
     |
---
...
1691 | }
     |   ^

error[E0433]: failed to resolve: use of undeclared type `DownloadSource`
     |
1666 |         DownloadSource::Dist,
1666 |         DownloadSource::Dist,
     |         ^^^^^^^^^^^^^^ use of undeclared type `DownloadSource`
error[E0425]: cannot find value `threads_from_config` in this scope
   --> config.rs:832:38
    |
    |
832 |         config.jobs = flags.jobs.map(threads_from_config);
    |
help: consider using the associated function
    |
    |
832 |         config.jobs = flags.jobs.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1202:64
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1203:72
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(Self::threads_from_config);

error[E0412]: cannot find type `Builder` in this scope
    --> config.rs:1651:37
     |
     |
514  |         struct $name {
     |         ------------ similarly named struct `Build` defined here
...
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     |
help: a struct with a similar name exists
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Build<'_>) -> Option<PathBuf> {
help: consider importing one of these items
     |
6    | use crate::builder::Builder;
     |
---

error[E0425]: cannot find function `program_out_of_date` in this scope
    --> config.rs:1659:34
     |
1659 |     if rustfmt_path.exists() && !program_out_of_date(&rustfmt_stamp, &channel) {
     |
help: consider importing this function
     |
6    | use crate::util::program_out_of_date;
6    | use crate::util::program_out_of_date;
     |

error[E0592]: duplicate definitions with name `maybe_download_rustfmt`
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `maybe_download_rustfmt`
    ::: download.rs:316:5
     |
     |
316  |     pub(crate) fn maybe_download_rustfmt(&self) -> Option<PathBuf> {
     |     -------------------------------------------------------------- other definition for `maybe_download_rustfmt`
error[E0425]: cannot find function `sysroot_dir` in this scope
    --> compile.rs:1144:31
     |
1144 |                     let dir = sysroot_dir(stage);
1144 |                     let dir = sysroot_dir(stage);
     |                               ^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `set` in this scope
   --> config.rs:962:9
    |
962 |         set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));
    |
help: consider using the associated function
    |
    |
962 |         Self::set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1006:9
     |
     |
1006 |         set(&mut config.low_priority, build.low_priority);
     |
help: consider using the associated function
     |
     |
1006 |         Self::set(&mut config.low_priority, build.low_priority);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1007:9
     |
     |
1007 |         set(&mut config.compiler_docs, build.compiler_docs);
     |
help: consider using the associated function
     |
     |
1007 |         Self::set(&mut config.compiler_docs, build.compiler_docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1008:9
     |
     |
1008 |         set(&mut config.docs_minification, build.docs_minification);
     |
help: consider using the associated function
     |
     |
1008 |         Self::set(&mut config.docs_minification, build.docs_minification);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1009:9
     |
     |
1009 |         set(&mut config.docs, build.docs);
     |
help: consider using the associated function
     |
     |
1009 |         Self::set(&mut config.docs, build.docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1010:9
     |
     |
1010 |         set(&mut config.locked_deps, build.locked_deps);
     |
help: consider using the associated function
     |
     |
1010 |         Self::set(&mut config.locked_deps, build.locked_deps);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1011:9
     |
     |
1011 |         set(&mut config.vendor, build.vendor);
     |
help: consider using the associated function
     |
     |
1011 |         Self::set(&mut config.vendor, build.vendor);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1012:9
     |
     |
1012 |         set(&mut config.full_bootstrap, build.full_bootstrap);
     |
help: consider using the associated function
     |
     |
1012 |         Self::set(&mut config.full_bootstrap, build.full_bootstrap);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1013:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1015:9
     |
1015 |         set(&mut config.verbose, build.verbose);
     |
help: consider using the associated function
     |
     |
1015 |         Self::set(&mut config.verbose, build.verbose);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1016:9
     |
     |
1016 |         set(&mut config.sanitizers, build.sanitizers);
     |
help: consider using the associated function
     |
     |
1016 |         Self::set(&mut config.sanitizers, build.sanitizers);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1017:9
     |
     |
1017 |         set(&mut config.profiler, build.profiler);
     |
help: consider using the associated function
     |
     |
1017 |         Self::set(&mut config.profiler, build.profiler);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1018:9
     |
     |
1018 |         set(&mut config.cargo_native_static, build.cargo_native_static);
     |
help: consider using the associated function
     |
     |
1018 |         Self::set(&mut config.cargo_native_static, build.cargo_native_static);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1019:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1020:9
     |
1020 |         set(&mut config.local_rebuild, build.local_rebuild);
     |
help: consider using the associated function
     |
     |
1020 |         Self::set(&mut config.local_rebuild, build.local_rebuild);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1021:9
     |
     |
1021 |         set(&mut config.print_step_timings, build.print_step_timings);
     |
help: consider using the associated function
     |
     |
1021 |         Self::set(&mut config.print_step_timings, build.print_step_timings);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1022:9
     |
     |
1022 |         set(&mut config.print_step_rusage, build.print_step_rusage);
     |
help: consider using the associated function
     |
     |
1022 |         Self::set(&mut config.print_step_rusage, build.print_step_rusage);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1023:9
     |
     |
1023 |         set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);
     |
help: consider using the associated function
     |
     |
1023 |         Self::set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1032:13
     |
     |
1032 |             set(&mut config.bindir, install.bindir.map(PathBuf::from));
     |
help: consider using the associated function
     |
     |
1032 |             Self::set(&mut config.bindir, install.bindir.map(PathBuf::from));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1069:13
     |
     |
1069 |             set(&mut config.ninja_in_file, llvm.ninja);
     |
help: consider using the associated function
     |
     |
1069 |             Self::set(&mut config.ninja_in_file, llvm.ninja);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1074:13
     |
     |
1074 |             set(&mut config.llvm_optimize, llvm.optimize);
     |
help: consider using the associated function
     |
     |
1074 |             Self::set(&mut config.llvm_optimize, llvm.optimize);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1075:13
     |
     |
1075 |             set(&mut config.llvm_thin_lto, llvm.thin_lto);
     |
help: consider using the associated function
     |
     |
1075 |             Self::set(&mut config.llvm_thin_lto, llvm.thin_lto);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1076:13
     |
     |
1076 |             set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);
     |
help: consider using the associated function
     |
     |
1076 |             Self::set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1077:13
     |
     |
1077 |             set(&mut config.llvm_version_check, llvm.version_check);
     |
help: consider using the associated function
     |
     |
1077 |             Self::set(&mut config.llvm_version_check, llvm.version_check);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1078:13
     |
     |
1078 |             set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);
     |
help: consider using the associated function
     |
     |
1078 |             Self::set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1091:13
     |
     |
1091 |             set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
     |
help: consider using the associated function
     |
     |
1091 |             Self::set(&mut config.llvm_use_libcxx, llvm.use_libcxx);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1166:13
     |
     |
1166 |             set(&mut config.rust_optimize_tests, rust.optimize_tests);
     |
help: consider using the associated function
     |
     |
1166 |             Self::set(&mut config.rust_optimize_tests, rust.optimize_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1167:13
     |
     |
1167 |             set(&mut config.codegen_tests, rust.codegen_tests);
     |
help: consider using the associated function
     |
     |
1167 |             Self::set(&mut config.codegen_tests, rust.codegen_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1168:13
     |
     |
1168 |             set(&mut config.rust_rpath, rust.rpath);
     |
help: consider using the associated function
     |
     |
1168 |             Self::set(&mut config.rust_rpath, rust.rpath);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1169:13
     |
     |
1169 |             set(&mut config.jemalloc, rust.jemalloc);
     |
help: consider using the associated function
     |
     |
1169 |             Self::set(&mut config.jemalloc, rust.jemalloc);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1170:13
     |
     |
1170 |             set(&mut config.test_compare_mode, rust.test_compare_mode);
     |             ^^^ not found in this scope
     |
help: consider using the associated function
     |
1170 |             Self::set(&mut config.test_compare_mode, rust.test_compare_mode);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1171:13
     |
     |
1171 |             set(&mut config.backtrace, rust.backtrace);
     |
help: consider using the associated function
     |
     |
1171 |             Self::set(&mut config.backtrace, rust.backtrace);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1172:13
     |
     |
1172 |             set(&mut config.channel, rust.channel);
     |
help: consider using the associated function
     |
     |
1172 |             Self::set(&mut config.channel, rust.channel);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1174:13
     |
     |
1174 |             set(&mut config.rust_dist_src, rust.dist_src);
     |
help: consider using the associated function
     |
     |
1174 |             Self::set(&mut config.rust_dist_src, rust.dist_src);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1175:13
     |
     |
1175 |             set(&mut config.verbose_tests, rust.verbose_tests);
     |
help: consider using the associated function
     |
     |
1175 |             Self::set(&mut config.verbose_tests, rust.verbose_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1180:13
     |
     |
1180 |             set(&mut config.use_lld, rust.use_lld);
     |
help: consider using the associated function
     |
     |
1180 |             Self::set(&mut config.use_lld, rust.use_lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1181:13
     |
     |
1181 |             set(&mut config.lld_enabled, rust.lld);
     |
help: consider using the associated function
     |
     |
1181 |             Self::set(&mut config.lld_enabled, rust.lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1182:13
     |
     |
1182 |             set(&mut config.llvm_tools_enabled, rust.llvm_tools);
     |
help: consider using the associated function
     |
     |
1182 |             Self::set(&mut config.llvm_tools_enabled, rust.llvm_tools);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1187:13
     |
     |
1187 |             set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
     |
help: consider using the associated function
     |
     |
1187 |             Self::set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1188:13
     |
     |
1188 |             set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
     |
help: consider using the associated function
     |
     |
1188 |             Self::set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1189:13
     |
     |
1189 |             set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);
     |
help: consider using the associated function
     |
     |
1189 |             Self::set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1191:13
     |
     |
1191 |             set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);
     |
help: consider using the associated function
     |
     |
1191 |             Self::set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1192:13
     |
     |
1192 |             set(&mut config.control_flow_guard, rust.control_flow_guard);
     |
help: consider using the associated function
     |
     |
1192 |             Self::set(&mut config.control_flow_guard, rust.control_flow_guard);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1278:13
     |
     |
1278 |             set(&mut config.rust_dist_src, t.src_tarball);
     |
help: consider using the associated function
     |
     |
1278 |             Self::set(&mut config.rust_dist_src, t.src_tarball);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1279:13
     |
     |
1279 |             set(&mut config.missing_tools, t.missing_tools);
     |
help: consider using the associated function
     |
     |
1279 |             Self::set(&mut config.missing_tools, t.missing_tools);

error[E0425]: cannot find function `download_component` in this scope
    --> config.rs:1664:5
     |
---
...
1691 | }
     |   ^

error[E0433]: failed to resolve: use of undeclared type `DownloadSource`
     |
1666 |         DownloadSource::Dist,
1666 |         DownloadSource::Dist,
     |         ^^^^^^^^^^^^^^ use of undeclared type `DownloadSource`
error[E0425]: cannot find value `threads_from_config` in this scope
   --> config.rs:832:38
    |
    |
832 |         config.jobs = flags.jobs.map(threads_from_config);
    |
help: consider using the associated function
    |
    |
832 |         config.jobs = flags.jobs.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1202:64
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1202 |             config.rust_codegen_units = rust.codegen_units.map(Self::threads_from_config);

error[E0425]: cannot find value `threads_from_config` in this scope
    --> config.rs:1203:72
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(threads_from_config);
     |
help: consider using the associated function
     |
     |
1203 |             config.rust_codegen_units_std = rust.codegen_units_std.map(Self::threads_from_config);

error[E0412]: cannot find type `Builder` in this scope
    --> config.rs:1651:37
     |
     |
514  |         struct $name {
     |         ------------ similarly named struct `Build` defined here
...
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     |
help: a struct with a similar name exists
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Build<'_>) -> Option<PathBuf> {
help: consider importing one of these items
     |
6    | use crate::builder::Builder;
     |
---

error[E0425]: cannot find function `program_out_of_date` in this scope
    --> config.rs:1659:34
     |
1659 |     if rustfmt_path.exists() && !program_out_of_date(&rustfmt_stamp, &channel) {
     |
help: consider importing this function
     |
6    | use crate::util::program_out_of_date;
6    | use crate::util::program_out_of_date;
     |

error[E0592]: duplicate definitions with name `maybe_download_rustfmt`
     |
     |
1651 | fn maybe_download_rustfmt(builder: &Builder<'_>) -> Option<PathBuf> {
     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `maybe_download_rustfmt`
    ::: download.rs:316:5
     |
     |
316  |     pub(crate) fn maybe_download_rustfmt(&self) -> Option<PathBuf> {
     |     -------------------------------------------------------------- other definition for `maybe_download_rustfmt`
error[E0425]: cannot find function `sysroot_dir` in this scope
    --> compile.rs:1144:31
     |
1144 |                     let dir = sysroot_dir(stage);
1144 |                     let dir = sysroot_dir(stage);
     |                               ^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `set` in this scope
   --> config.rs:962:9
    |
962 |         set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));
    |
help: consider using the associated function
    |
    |
962 |         Self::set(&mut config.out, flags.build_dir.or_else(|| build.build_dir.map(PathBuf::from)));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1006:9
     |
     |
1006 |         set(&mut config.low_priority, build.low_priority);
     |
help: consider using the associated function
     |
     |
1006 |         Self::set(&mut config.low_priority, build.low_priority);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1007:9
     |
     |
1007 |         set(&mut config.compiler_docs, build.compiler_docs);
     |
help: consider using the associated function
     |
     |
1007 |         Self::set(&mut config.compiler_docs, build.compiler_docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1008:9
     |
     |
1008 |         set(&mut config.docs_minification, build.docs_minification);
     |
help: consider using the associated function
     |
     |
1008 |         Self::set(&mut config.docs_minification, build.docs_minification);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1009:9
     |
     |
1009 |         set(&mut config.docs, build.docs);
     |
help: consider using the associated function
     |
     |
1009 |         Self::set(&mut config.docs, build.docs);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1010:9
     |
     |
1010 |         set(&mut config.locked_deps, build.locked_deps);
     |
help: consider using the associated function
     |
     |
1010 |         Self::set(&mut config.locked_deps, build.locked_deps);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1011:9
     |
     |
1011 |         set(&mut config.vendor, build.vendor);
     |
help: consider using the associated function
     |
     |
1011 |         Self::set(&mut config.vendor, build.vendor);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1012:9
     |
     |
1012 |         set(&mut config.full_bootstrap, build.full_bootstrap);
     |
help: consider using the associated function
     |
     |
1012 |         Self::set(&mut config.full_bootstrap, build.full_bootstrap);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1013:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1015:9
     |
1015 |         set(&mut config.verbose, build.verbose);
     |
help: consider using the associated function
     |
     |
1015 |         Self::set(&mut config.verbose, build.verbose);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1016:9
     |
     |
1016 |         set(&mut config.sanitizers, build.sanitizers);
     |
help: consider using the associated function
     |
     |
1016 |         Self::set(&mut config.sanitizers, build.sanitizers);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1017:9
     |
     |
1017 |         set(&mut config.profiler, build.profiler);
     |
help: consider using the associated function
     |
     |
1017 |         Self::set(&mut config.profiler, build.profiler);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1018:9
     |
     |
1018 |         set(&mut config.cargo_native_static, build.cargo_native_static);
     |
help: consider using the associated function
     |
     |
1018 |         Self::set(&mut config.cargo_native_static, build.cargo_native_static);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1019:9
     |
---

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1020:9
     |
1020 |         set(&mut config.local_rebuild, build.local_rebuild);
     |
help: consider using the associated function
     |
     |
1020 |         Self::set(&mut config.local_rebuild, build.local_rebuild);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1021:9
     |
     |
1021 |         set(&mut config.print_step_timings, build.print_step_timings);
     |
help: consider using the associated function
     |
     |
1021 |         Self::set(&mut config.print_step_timings, build.print_step_timings);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1022:9
     |
     |
1022 |         set(&mut config.print_step_rusage, build.print_step_rusage);
     |
help: consider using the associated function
     |
     |
1022 |         Self::set(&mut config.print_step_rusage, build.print_step_rusage);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1023:9
     |
     |
1023 |         set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);
     |
help: consider using the associated function
     |
     |
1023 |         Self::set(&mut config.patch_binaries_for_nix, build.patch_binaries_for_nix);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1032:13
     |
     |
1032 |             set(&mut config.bindir, install.bindir.map(PathBuf::from));
     |
help: consider using the associated function
     |
     |
1032 |             Self::set(&mut config.bindir, install.bindir.map(PathBuf::from));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1069:13
     |
     |
1069 |             set(&mut config.ninja_in_file, llvm.ninja);
     |
help: consider using the associated function
     |
     |
1069 |             Self::set(&mut config.ninja_in_file, llvm.ninja);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1074:13
     |
     |
1074 |             set(&mut config.llvm_optimize, llvm.optimize);
     |
help: consider using the associated function
     |
     |
1074 |             Self::set(&mut config.llvm_optimize, llvm.optimize);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1075:13
     |
     |
1075 |             set(&mut config.llvm_thin_lto, llvm.thin_lto);
     |
help: consider using the associated function
     |
     |
1075 |             Self::set(&mut config.llvm_thin_lto, llvm.thin_lto);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1076:13
     |
     |
1076 |             set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);
     |
help: consider using the associated function
     |
     |
1076 |             Self::set(&mut config.llvm_release_debuginfo, llvm.release_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1077:13
     |
     |
1077 |             set(&mut config.llvm_version_check, llvm.version_check);
     |
help: consider using the associated function
     |
     |
1077 |             Self::set(&mut config.llvm_version_check, llvm.version_check);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1078:13
     |
     |
1078 |             set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);
     |
help: consider using the associated function
     |
     |
1078 |             Self::set(&mut config.llvm_static_stdcpp, llvm.static_libstdcpp);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1091:13
     |
     |
1091 |             set(&mut config.llvm_use_libcxx, llvm.use_libcxx);
     |
help: consider using the associated function
     |
     |
1091 |             Self::set(&mut config.llvm_use_libcxx, llvm.use_libcxx);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1166:13
     |
     |
1166 |             set(&mut config.rust_optimize_tests, rust.optimize_tests);
     |
help: consider using the associated function
     |
     |
1166 |             Self::set(&mut config.rust_optimize_tests, rust.optimize_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1167:13
     |
     |
1167 |             set(&mut config.codegen_tests, rust.codegen_tests);
     |
help: consider using the associated function
     |
     |
1167 |             Self::set(&mut config.codegen_tests, rust.codegen_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1168:13
     |
     |
1168 |             set(&mut config.rust_rpath, rust.rpath);
     |
help: consider using the associated function
     |
     |
1168 |             Self::set(&mut config.rust_rpath, rust.rpath);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1169:13
     |
     |
1169 |             set(&mut config.jemalloc, rust.jemalloc);
     |
help: consider using the associated function
     |
     |
1169 |             Self::set(&mut config.jemalloc, rust.jemalloc);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1170:13
     |
     |
1170 |             set(&mut config.test_compare_mode, rust.test_compare_mode);
     |             ^^^ not found in this scope
     |
help: consider using the associated function
     |
1170 |             Self::set(&mut config.test_compare_mode, rust.test_compare_mode);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1171:13
     |
     |
1171 |             set(&mut config.backtrace, rust.backtrace);
     |
help: consider using the associated function
     |
     |
1171 |             Self::set(&mut config.backtrace, rust.backtrace);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1172:13
     |
     |
1172 |             set(&mut config.channel, rust.channel);
     |
help: consider using the associated function
     |
     |
1172 |             Self::set(&mut config.channel, rust.channel);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1174:13
     |
     |
1174 |             set(&mut config.rust_dist_src, rust.dist_src);
     |
help: consider using the associated function
     |
     |
1174 |             Self::set(&mut config.rust_dist_src, rust.dist_src);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1175:13
     |
     |
1175 |             set(&mut config.verbose_tests, rust.verbose_tests);
     |
help: consider using the associated function
     |
     |
1175 |             Self::set(&mut config.verbose_tests, rust.verbose_tests);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1180:13
     |
     |
1180 |             set(&mut config.use_lld, rust.use_lld);
     |
help: consider using the associated function
     |
     |
1180 |             Self::set(&mut config.use_lld, rust.use_lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1181:13
     |
     |
1181 |             set(&mut config.lld_enabled, rust.lld);
     |
help: consider using the associated function
     |
     |
1181 |             Self::set(&mut config.lld_enabled, rust.lld);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1182:13
     |
     |
1182 |             set(&mut config.llvm_tools_enabled, rust.llvm_tools);
     |
help: consider using the associated function
     |
     |
1182 |             Self::set(&mut config.llvm_tools_enabled, rust.llvm_tools);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1187:13
     |
     |
1187 |             set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));
     |
help: consider using the associated function
     |
     |
1187 |             Self::set(&mut config.deny_warnings, flags.deny_warnings.or(rust.deny_warnings));

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1188:13
     |
     |
1188 |             set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);
     |
help: consider using the associated function
     |
     |
1188 |             Self::set(&mut config.backtrace_on_ice, rust.backtrace_on_ice);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1189:13
     |
     |
1189 |             set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);
     |
help: consider using the associated function
     |
     |
1189 |             Self::set(&mut config.rust_verify_llvm_ir, rust.verify_llvm_ir);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1191:13
     |
     |
1191 |             set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);
     |
help: consider using the associated function
     |
     |
1191 |             Self::set(&mut config.rust_remap_debuginfo, rust.remap_debuginfo);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1192:13
     |
     |
1192 |             set(&mut config.control_flow_guard, rust.control_flow_guard);
     |
help: consider using the associated function
     |
     |
1192 |             Self::set(&mut config.control_flow_guard, rust.control_flow_guard);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1278:13
     |
     |
1278 |             set(&mut config.rust_dist_src, t.src_tarball);
     |
help: consider using the associated function
     |
     |
1278 |             Self::set(&mut config.rust_dist_src, t.src_tarball);

error[E0425]: cannot find function `set` in this scope
    --> config.rs:1279:13
     |
     |
1279 |             set(&mut config.missing_tools, t.missing_tools);
     |
help: consider using the associated function
     |
     |
1279 |             Self::set(&mut config.missing_tools, t.missing_tools);

error[E0425]: cannot find function `download_component` in this scope
    --> config.rs:1664:5
     |

@Mark-Simulacrum
Copy link
Member

Ok, leaving a couple comments here:

  • Please squash the commits and add a description to the PR reflecting the change we ended up at (so that people dropping into the PR have an easy reference)
  • Let's write up a blog post, focusing on mapping any existing workflows onto the new paths (e.g., if you're using stage0/bin/rustfmt, you should use bootstrap-sysroot/bin/rustfmt instead).
    • inside rust is appropriate
    • we will also want to circulate it once published at libs / t-compiler meetings as well as #general or so in Zulip.

Broadly speaking I am fine with this change otherwise but can't say I'm particularly enthusiastic about this meaningfully increasing legibility. They seem a little easier to refer to at the very least though.

@jyn514 jyn514 added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 25, 2022
@jyn514
Copy link
Member

jyn514 commented Nov 25, 2022

@chetankokil can you please work on the things that Mark asked for? You can make a blog post by making a PR to https://github.com/rust-lang/blog.rust-lang.org.

@chetankokil
Copy link
Author

@jyn514 i tried merging and its not working anymore. looks like lots of things have changed. i need to regroup myself and see what changes to incorporate.

@JohnCSimon
Copy link
Member

@chetankokil
Ping from triage - can you please post your status on this? Thank you.

@chetankokil
Copy link
Author

chetankokil commented Jan 29, 2023 via email

@jyn514 jyn514 closed this Feb 7, 2023
@jyn514
Copy link
Member

jyn514 commented Feb 7, 2023

Sorry this didn't work out. Thank you for working on the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rename sysroot directories to be more clear
10 participants