about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2023-05-25bootstrap: use RUSTC_BOOTSTRAP to vendor sourcesMichael Howell-0/+3
2023-05-25Improve commentsMichael Howell-0/+2
2023-05-25bootstrap: enable Cargo `public-dependency` feature for `libstd`Michael Howell-0/+1
2023-05-25Auto merge of #110906 - ekusiadadus:ekusiadadus/fix-bash-complete-etc, ↵bors-1/+5
r=albertlarsan68 fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy error ## why I got an error on executing `./x.py build && ./x.py install`. Found creating some folder in `/etc/bash_completion.d/`, It appears to be incorrect to attempt to create a folder in `/etc/bash_completion.d/`, as this proccess requires `sudo`. Fixes #111653 ``` Uplifting rustc (stage1 -> stage3) Building tool cargo (stage2 -> stage3, x86_64-unknown-linux-gnu) Finished release [optimized] target(s) in 0.16s Building tool cargo-credential-1password (stage2 -> stage3, x86_64-unknown-linux-gnu) Finished release [optimized] target(s) in 0.06s Dist cargo-1.71.0-dev-x86_64-unknown-linux-gnu finished in 10.700 seconds Installing stage2 cargo (x86_64-unknown-linux-gnu) install: uninstalling component 'cargo' install: creating uninstall script at /home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/uninstall.sh install: installing component 'cargo' /home/ekusiadadus/dev/rust/rust/build/tmp/tarball/cargo/x86_64-unknown-linux-gnu/cargo-1.71.0-dev-x86_64-unknown-linux-gnu/install.sh: 310: cd: can't cd to /etc/bash_completion.d cp: cannot create regular file '/cargo': Permission denied chmod: cannot access '/cargo': No such file or directory install: error: file creation failed. see logs at '/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/install.log' Build completed unsuccessfully in 0:01:11 ``` Error Log ``` install: uninstalling component 'cargo' install: removing file /home/ekusiadadus/.rustup/toolchains/dev/bin/cargo $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/bin/cargo install: removing file /home/ekusiadadus/.rustup/toolchains/dev/libexec/cargo-credential-1password $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/libexec/cargo-credential-1password install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/LICENSE-APACHE $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/LICENSE-APACHE install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/LICENSE-MIT $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/LICENSE-MIT install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/LICENSE-THIRD-PARTY $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/LICENSE-THIRD-PARTY install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/README.md $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/doc/rust/README.md install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-add.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-add.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-bench.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-bench.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-build.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-build.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-check.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-check.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-clean.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-clean.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-doc.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-doc.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-fetch.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-fetch.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-fix.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-fix.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-generate-lockfile.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-generate-lockfile.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-help.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-help.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-init.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-init.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-install.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-install.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-locate-project.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-locate-project.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-login.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-login.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-logout.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-logout.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-metadata.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-metadata.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-new.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-new.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-owner.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-owner.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-package.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-package.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-pkgid.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-pkgid.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-publish.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-publish.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-remove.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-remove.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-report.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-report.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-run.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-run.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-rustc.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-rustc.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-rustdoc.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-rustdoc.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-search.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-search.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-test.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-test.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-tree.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-tree.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-uninstall.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-uninstall.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-update.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-update.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-vendor.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-vendor.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-verify-project.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-verify-project.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-version.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-version.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-yank.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo-yank.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo.1 $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/man/man1/cargo.1 install: removing file /home/ekusiadadus/.rustup/toolchains/dev/share/zsh/site-functions/_cargo $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/share/zsh/site-functions/_cargo install: removing file /home/ekusiadadus/.rustup/toolchains/dev/src/etc/bash_completion.d/cargo $ rm -f /home/ekusiadadus/.rustup/toolchains/dev/src/etc/bash_completion.d/cargo install: removing component manifest /home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/manifest-cargo $ rm /home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/manifest-cargo $ echo "rust-analyzer-preview rustfmt-preview rust-demangler-preview clippy-preview miri-preview llvm-tools-preview rust-src rustc rust-docs rust-std-x86_64-unknown-linux-gnu" > "/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/components" $ umask 022 && mkdir -p "/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib" $ echo "3" > "/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/rust-installer-version" install: creating uninstall script at /home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/uninstall.sh $ cp /home/ekusiadadus/dev/rust/rust/build/tmp/tarball/cargo/x86_64-unknown-linux-gnu/cargo-1.71.0-dev-x86_64-unknown-linux-gnu/install.sh /home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/uninstall.sh install: installing component 'cargo' $ echo "cargo" >> "/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/components" $ umask 022 && mkdir -p "/home/ekusiadadus/.rustup/toolchains/dev/bin" install: copying file /home/ekusiadadus/.rustup/toolchains/dev/bin/cargo $ cp /home/ekusiadadus/dev/rust/rust/build/tmp/tarball/cargo/x86_64-unknown-linux-gnu/cargo-1.71.0-dev-x86_64-unknown-linux-gnu/cargo/bin/cargo /home/ekusiadadus/.rustup/toolchains/dev/bin/cargo $ chmod 755 /home/ekusiadadus/.rustup/toolchains/dev/bin/cargo $ echo "file:/home/ekusiadadus/.rustup/toolchains/dev/bin/cargo" >> "/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/manifest-cargo" $ umask 022 && mkdir -p "/etc/bash_completion.d" install: copying file /cargo $ cp /home/ekusiadadus/dev/rust/rust/build/tmp/tarball/cargo/x86_64-unknown-linux-gnu/cargo-1.71.0-dev-x86_64-unknown-linux-gnu/cargo/etc/bash_completion.d/cargo /cargo $ chmod 644 /cargo install: error: file creation failed. see logs at '/home/ekusiadadus/.rustup/toolchains/dev/lib/rustlib/install.log' ```
2023-05-25introduce build metrics version numbers to handle breaking changesPietro Albini-2/+31
2023-05-25include test suite metadata in build metricsPietro Albini-22/+104
2023-05-25fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy errorekusiadadus-1/+5
chore: :art: format dist.rs
2023-05-24Auto merge of #111566 - clubby789:bootstrap-override-config, r=ozkanonurbors-32/+198
Override config.toml options from command line https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Running.20tests.20on.20precompiled.20rustc/near/357763280 cc `@jyn514`
2023-05-23Promote loongarch64-unknown-linux-gnu to Tier 2 with host toolsWANG Rui-0/+1
MCP: https://github.com/rust-lang/compiler-team/issues/518
2023-05-21Render test messages from bootstrapEric Huss-2/+7
2023-05-21Rollup merge of #111809 - DrMeepster:patch-1, r=jyn514Matthias Krüger-0/+2
Unset MIRI_BLESS for mir-opt-level 4 miri tests When running `x.py test src/tools/miri --bless`, the 2nd test run (with mir-opt-level 4) crashes because it disables ui checking, which is incompatible with blessing. This PR fixes that by not trying to bless that run.
2023-05-20unset MIRI_BLESS for mir-opt-level 4 miri testsDrMeepster-0/+2
2023-05-20bootstrap: add test cases for beta revision extractionliushuyu-0/+16
2023-05-20Read beta version from the version file ...liushuyu-6/+27
... if building from a source tarball
2023-05-20Auto merge of #111798 - GuillaumeGomez:rollup-t3bus8o, r=GuillaumeGomezbors-2/+2
Rollup of 5 pull requests Successful merges: - #111450 (Use `OpaqueTypeKey` in query response) - #111726 (Migrate GUI colors test to original CSS color format) - #111746 (Merge some query impl modules into one) - #111765 (Migrate GUI colors test to original CSS color format) - #111771 (add `--remote-time` flag to curl for bootstrap) r? `@ghost` `@rustbot` modify labels: rollup
2023-05-20Make `x test --dry-run` less verbosejyn-1/+9
Previously, this would print a message for each doctest, which was quite verbose: ``` doc tests for: /home/jyn/src/rust/src/doc/rustc/src/exploit-mitigations.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/instrument-coverage.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/json.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/linker-plugin-lto.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/lints/groups.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/lints/index.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/lints/levels.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/aarch64-apple-ios-sim.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/aarch64-nintendo-switch-freestanding.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/apple-watchos.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armeb-unknown-linux-gnueabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv4t-none-eabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv5te-none-eabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv6k-nintendo-3ds.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv7-sony-vita-newlibeabihf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/armv7-unknown-linux-uclibceabihf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/esp-idf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/fuchsia.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/kmc-solid.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/loongarch-linux.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/m68k-unknown-linux-gnu.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/mipsel-sony-psx.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/nto-qnx.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/openbsd.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/openharmony.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/riscv32imac-unknown-xous-elf.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/unknown-uefi.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/wasm64-unknown-unknown.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/x86_64-fortanix-unknown-sgx.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/platform-support/x86_64-unknown-none.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/profile-guided-optimization.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/target-tier-policy.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/targets/custom.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/targets/index.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/tests/index.md doc tests for: /home/jyn/src/rust/src/doc/rustc/src/what-is-rustc.md ```
2023-05-20Rollup merge of #111771 - liushuyu:ubuntu/rep-stage0, r=ozkanonurGuillaume Gomez-2/+2
add `--remote-time` flag to curl for bootstrap This pull request sets the timestamp of the downloaded stage0 binary according to the server-reported timestamp (if possible). This allows make_orig-dl_tarball.sh to be more reproducible on the filesystem.
2023-05-20Auto merge of #111413 - workingjubilee:bump-object-0-31-1, r=MarkSimulacrumbors-3/+3
Bump object and thorin-dwp Required to fix watchOS breakage.
2023-05-20implement and use tools/rustdoc-gui-test in bootstrapozkanonur-89/+31
2023-05-20Rollup merge of #111606 - jyn514:nightly-diagnostics, r=lcnrDylan DPC-1/+0
very minor cleanups - add `must_use` to `early_error_no_abort` this was already being used at its only callsite, but this ensures that new code remembers to use it if it's called in the future. found this while investigating https://github.com/rust-lang/rust/issues/110090. - remove outdated and incorrect comment in `builder.rs`. `doc_rust_lang_org_channel` doesn't exist in rustdoc, it gets it from an env var instead: https://github.com/rust-lang/rust/blob/b275d2c30b6e88cc48747f349f7137076d450658/src/librustdoc/clean/utils.rs#L569-L573
2023-05-19Set the timestamp of downloaded stage0 files ...Ximin Luo-2/+2
... using server-reported timestamp. This allows us to track changes to the downloaded artifact more easily and in a more reproducible manner. Co-authored-by: Zixing Liu <zixing.liu@canonical.com>
2023-05-19Override config.toml options from command lineclubby789-32/+198
2023-05-18very minor cleanupsjyn-1/+0
- add `must_use` to `early_error_no_abort` this was already being used at its only callsite, but this ensures that new code remembers to use it if it's called in the future. - remove outdated and incorrect comment in `builder.rs`. `doc_rust_lang_org_channel` doesn't exist in rustdoc, it gets it from an env var instead.
2023-05-18Rollup merge of #111685 - Kobzol:bootstrap-typo, r=clubby789Dylan DPC-1/+1
Fix typo in bootstrap command description Unless `duild` is some clever name for `dist build`, this is probably a typo.
2023-05-18Rollup merge of #111160 - chbaker0:update-serde, r=Mark-SimulacrumDylan DPC-8/+8
Update serde in workspace and non-synced dependencies The main workspace, bootstrap, cargo, miri, and rust-analyzer all lock serde to different versions. It's preferable to share the same version where possible, so update it. Rustfmt is synced from another repository and has its own Cargo.lock, but since it's added to the overall workspace it should respect the version here. Cargo is already at the latest version. Miri and rust-analyzer would require upstream updates.
2023-05-17Fix typo in bootstrap command descriptionJakub Beránek-1/+1
2023-05-14comment feedbackyukang-1/+2
2023-05-14fixyukang-2/+2
2023-05-14skip rustc version check in dry_runyukang-0/+4
2023-05-14Make sure the build.rustc version is either the same or 1 apartyukang-0/+42
2023-05-14Auto merge of #111388 - clubby789:clap-complete, r=jyn514bors-15/+101
Generate shell completions for bootstrap with Clap Now that #110693 has been merged, we can look at generating shell completions for x.py with `clap_complete`. Leaving this as draft for now as I'm not sure of the best way to integration the completion generator. Additionally, the generated completions for zsh are completely broken (will need to be resolved upstream, it doesn't seem to handle subcommands + global arguments well). I don't have Fish installed and would be interested to know how well completions work there. Alternative to #107827
2023-05-12run miri tests with MIR opts in rustc CIRalf Jung-2/+19
2023-05-10Bump object and thorin-dwpJubilee Young-3/+3
object -> 0.31.1 thorin-dwp -> 0.6.0 Required to fix watchOS breakage.
2023-05-10Generate shell completions for bootstrap with Clapclubby789-15/+101
2023-05-09Rollup merge of #111242 - wangkirin:support_rpath_independent_config, ↵Matthias Krüger-1/+9
r=albertlarsan68 support set `rpath` option for each target independently Currently the `rpath` option is a global config and it's effect on all targets. But sometimes when developers edit the rustc code and try to release rust toolchains themselves, they may not want to add `rpath` in all targets to avoid dynamically linked shared object library privilege escalation attack. This PR supports set `rpath` option for each target independently . Common developers are not aware of the existence of this configuration option and do not affect the existing development process. This configuration option takes effect only after developers explicitly sets . r? ``@albertlarsan68``
2023-05-09Auto merge of #110152 - ChrisDenton:windows-sys, r=thomccbors-0/+24
Start using `windows sys` for Windows FFI bindings in std Switch to using windows-sys for FFI. In order to avoid some currently contentious issues, this uses windows-bindgen to generate a smaller set of bindings instead of using the full crate. Unlike the windows-sys crate, the generated bindings uses `*mut c_void` for handle types instead of `isize`. This to sidestep opsem concerns about mixing pointer types and integers between languages. Note that `SOCKET` remains defined as an integer but instead of being a usize, it's changed to fit the [standard library definition](https://github.com/rust-lang/rust/blob/a41fc00eaf352541008965fec0dee811e44373b3/library/std/src/os/windows/raw.rs#L12-L16): ```rust #[cfg(target_pointer_width = "32")] pub type SOCKET = u32; #[cfg(target_pointer_width = "64")] pub type SOCKET = u64; ``` The generated bindings also customizes the `#[link]` imports. I hope to switch to using raw-dylib but I don't want to tie that too closely with the switch to windows-sys. --- Changes outside of the bindings are, for the most part, fairly minimal (e.g. some differences in `*mut` vs. `*const` or a few types differ). One issue is that our own bindings sometimes mix in higher level types, like `BorrowedHandle`. This is pretty adhoc though.
2023-05-08Auto merge of #111342 - Dylan-DPC:rollup-b5p6wzy, r=Dylan-DPCbors-4/+14
Rollup of 7 pull requests Successful merges: - #110297 (Make `(try_)subst_and_normalize_erasing_regions` take `EarlyBinder`) - #110827 (Fix lifetime suggestion for type aliases with objects in them) - #111022 (Use smaller ints for bitflags) - #111056 (Fix some suggestions where a `Box<T>` is expected.) - #111262 (Further normalize msvc-non-utf8-ouput) - #111265 (Make generics_of has_self on RPITITs delegate to the opaque) - #111323 (Give a more helpful error when running the rustc shim directly) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-05-08Auto merge of #106621 - ozkanonur:enable-elided-lifetimes-for-doctests, ↵bors-0/+9
r=Mark-Simulacrum enable `rust_2018_idioms` lint group for doctests With this change, `rust_2018_idioms` lint group will be enabled for compiler/libstd doctests. Resolves #106086 Resolves #99144 Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-05-08supplement CHANGELOG for add rpath in target sectionWang Qilin-0/+1
2023-05-07Update serde in workspace and non-synced dependenciesCollin Baker-8/+8
The main workspace, bootstrap, cargo, miri, and rust-analyzer all lock serde to different versions. It's preferable to share the same version where possible, so update it. Rustfmt is synced from another repository and has its own Cargo.lock, but since it's added to the overall workspace it should respect the version here. Cargo is already at the latest version. Miri and rust-analyzer would require upstream updates.
2023-05-07Add support for NetBSD/aarch64-be (big-endian arm64).Havard Eidnes-0/+1
2023-05-07Give a more helpful error when running the rustc shim directlyjyn-4/+14
cc https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Building.20.60coretests.60.20by.20hand
2023-05-07Auto merge of #110693 - clubby789:x-clap-take-2, r=Mark-Simulacrumbors-730/+481
Migrate bootstrap to Clap-based argument parsing Supercedes #108083 I chose to re-do the work rather than rebase the onto the large changes since the original PR. If it's preferred I can instead force-push the original PR to this version. cc `@jyn514` `@albertlarsan68`
2023-05-06Migrate bootstrap to Clap-based argumentsclubby789-730/+481
2023-05-07enable `rust_2018_idioms` for doctestsozkanonur-0/+9
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-05-05Generate windows-sys bindingsChris Denton-0/+24
2023-05-05support enable rpath in each target independentlyWang Qilin-1/+8
2023-05-05Rollup merge of #111223 - jyn514:free-args, r=clubby789Yuki Okushi-28/+30
Use `free-args` consistently in bootstrap Previously, this was only passed to miri and compiletest. Extended it to all other tests and binaries as well. cc https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Running.20a.20single.20doctest r? `@clubby789`
2023-05-05Rollup merge of #111187 - krasimirgg:llvm-runtimes, r=jyn514Yuki Okushi-0/+2
bootstrap: add llvm-project/runtimes to the sources This is needed to build libunwind for LLVM 16: https://discourse.llvm.org/t/runtimes-removed-support-for-llvm-enable-projects-in-libcxx-libcxxabi-and-libunwind/65707 Zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/187780-t-compiler.2Fwg-llvm/topic/missing.20llvm-project.2Fruntimes.20in.20beta.20srcs Checked by running `x.py dist` and verifying the produced source archive (build/dist/rustc-1.71.0-dev-src.tar.gz) contains the new directory.
2023-05-04Use `free-args` consistently in bootstrapjyn-28/+30
Previously, this was only passed to miri and compiletest. Extended it to all other tests and binaries as well.