forked from rust-lang/rust
- Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from rust-lang:master #1500
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
Open
pull wants to merge 10,000 commits into Pandinosaurus:master Choose a base branch from rust-lang:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline, and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
90e092f to 89b9f7b Compare 47c0792 to 999ac5f Compare Improve type safety by using an enum rather than strings.
rustc_target: introduce Arch Improve type safety by using an enum rather than strings.
Rollup of 6 pull requests Successful merges: - #147355 (Add alignment parameter to `simd_masked_{load,store}`) - #147925 (Fix tests for big-endian) - #148341 (compiler: Fix a couple issues around cargo feature unification) - #148371 (Dogfood `trim_{suffix|prefix}` in compiler) - #148495 (Implement Path::is_empty) - #148502 (rustc-dev-guide subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 6 pull requests Successful merges: - #147355 (Add alignment parameter to `simd_masked_{load,store}`) - #147925 (Fix tests for big-endian) - #148341 (compiler: Fix a couple issues around cargo feature unification) - #148371 (Dogfood `trim_{suffix|prefix}` in compiler) - #148495 (Implement Path::is_empty) - #148502 (rustc-dev-guide subtree update) r? `@ghost` `@rustbot` modify labels: rollup
…ature This way warnings are emitted even in a check build.
Relax r29 inline asm restriction on PowerPC64 targets LLVM uses r29 to hold a base pointer for some PowerPC target configurations. It is usable on all 64 bit targets as a callee save register. r? `@Amanieu`
Previously it was rather inconsistent which crates got the rust logo and which didn't and setting html_root_url was forgotten in many cases.
Previously it was rather inconsistent which crates got the rust logo and which didn't and setting html_root_url was forgotten in many cases.
Rustdoc forwards -Zcrate-attr=feature(rustdoc_internals) to doc tests, but deny(warnings) overrides the -Ainternal_features.
error on non-rustic ABIs using unsized parameters tracking issue: #48055 This came up in #144529 (comment). The idea is that the layout of an unsized type is unstable (following the rust layout rules), and hence stable ABIs should not use unsized types. On stable, unsized types (or generics with a `?Sized` bound) are not accepted as parameters, so the errors introduced by this PR can only be observed when the unstable `unsized_fn_params` feature is enabled. r? `@bjorn3` cc `@RalfJung`
Rollup of 22 pull requests Successful merges: - #128666 (Add `overflow_checks` intrinsic) - #146305 (Add correct suggestion for multi-references for self type in method) - #147179 ([DebugInfo] Fix container types failing to find template args) - #147743 (Show packed field alignment in mir_transform_unaligned_packed_ref) - #148079 (Rename `downcast_[ref|mut]_unchecked` -> `downcast_unchecked_[ref|mut]`) - #148084 (Optimize path components iteration on platforms that don't have prefixes) - #148126 (Fix rust stdlib build failing for VxWorks) - #148204 (Modify contributor email entries in .mailmap) - #148279 (rustc_builtin_macros: rename bench parameter to avoid collisions with user-defined function names) - #148333 (constify result unwrap unchecked) - #148539 (Add Allocator proxy impls for Box, Rc, and Arc) - #148601 (`invalid_atomic_ordering`: also lint `update` & `try_update`) - #148612 (Add note for identifier with attempted hygiene violation) - #148613 (Switch hexagon targets to rust-lld) - #148619 (Enable std locking functions on AIX) - #148644 ([bootstrap] Make `--open` option work with `doc src/tools/error_index_generator`) - #148649 (don't completely reset `HeadUsages`) - #148673 (Remove a remnant of `dyn*` from the parser) - #148675 (Remove eslint-js from npm dependencies) - #148680 (Recover `[T: N]` as `[T; N]`) - #148688 (Remove unused argument `features` from `eval_config_entry`) - #148711 (Use the current lint note id when parsing `cfg!()`) r? `@ghost` `@rustbot` modify labels: rollup
This prevented the links from being rendered. Sorry for not noticing this before my changes were merged yesterday.
Encode cfg trace, not its early counterpart to fix cross-crate `doc(auto_cfg)` Fixes #141301. <details><summary>Rambling about <code>target_feature</code> which I didn't touch here</summary> Regarding #141301 (comment) (`#[target_feature(enable = …)]` on inlined cross-crate re-exports), it has the same underlying cause (namely, we neither encode `target_feature` nor `AttributeKind::TargetFeature` in the crate metadata). However, I didn't make that change because I first want to experiment with querying `TyCtxt::codegen_fn_attrs` in rustdoc instead which already works cross-crate (and also use to it for reconstructing `no_mangle`, `export_name`, `link_section` to avoid encoding these attributes unnecessarily (basically reverting #144050) as suggested in #144004 (comment)). </details> r? GuillaumeGomez
Remove `#[const_trait]` Remove `#[const_trait]` since we now have `const trait`. Update all structured diagnostics that still suggested the attribute. r? ```@rust-lang/project-const-traits```
std: use a non-poisoning `RwLock` for the panic hook The code ignored poison errors using `PoisonError` anyway.
…isable-self-contained-lld, r=Mark-Simulacrum fix: disable self-contained linker when bootstrap-override-lld is set Part of #148708. Makes `rust.bootstrap-override-lld` set to `true` or `"external"` disable self-contained linker — actually using linker from one's system.
mgca: Finish implementation of `#[type_const]` tracking issue: #132980 fixes #140729 fixes #140860 - **Fix `#[type_const]` attribute placement validation** - **Perform WF-checking on type_const RHS's** - **Check type_const type is ConstParamTy_ and that RHS matches it** - **Check that impls of `#[type_const]` consts also have the attr** r? ```@BoxyUwU```
Add Crystal Durham to .mailmap 🏳️⚧️ - CAD97/blog#3
bootstrap: Render doctest timing reports as text, not JSON These doctest timing reports were added to libtest/rustdoc in #144909, but bootstrap's custom test-output renderer wasn't taught about them, so they were being printed as raw JSON instead. Before: ```text { "type": "report", "total_time": 0.738403958, "compilation_time": 0.731513292 } ``` After: ```text all doctests ran in 0.73s; merged doctests compilation took 0.72s ``` <details> <summary><b>Detailed before/after in context</b></summary> ## Before ```text $ x test rustc_mir_transform --doc Building bootstrap Finished `dev` profile [unoptimized] target(s) in 0.03s Testing stage1 {rustc_mir_transform} (aarch64-apple-darwin) Finished `release` profile [optimized + debuginfo] target(s) in 0.12s Doc-tests rustc_mir_transform running 19 tests iiiiiiiiiiii....... test result: ok. 7 passed; 0 failed; 12 ignored; 0 measured; 0 filtered out; finished in 3.28ms running 7 tests iiiiiii test result: ok. 0 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 403.67µs { "type": "report", "total_time": 0.738403958, "compilation_time": 0.731513292 } finished in 1.505 seconds Build completed successfully in 0:00:01 ``` ## After ```text $ x test rustc_mir_transform --doc Building bootstrap Finished `dev` profile [unoptimized] target(s) in 0.03s Testing stage1 {rustc_mir_transform} (aarch64-apple-darwin) Finished `release` profile [optimized + debuginfo] target(s) in 0.12s Doc-tests rustc_mir_transform running 19 tests iiiiiiiiiiii....... test result: ok. 7 passed; 0 failed; 12 ignored; 0 measured; 0 filtered out; finished in 3.12ms running 7 tests iiiiiii test result: ok. 0 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 395.67µs all doctests ran in 0.73s; merged doctests compilation took 0.72s finished in 1.493 seconds Build completed successfully in 0:00:01 ``` </details>
tidy: Don't bypass stderr output capture in unit tests In unit tests, writes to stderr that don't use `eprint!` or `eprintln!` will not be captured, and instead interfere with test harness output, making it unreadable. <details> <summary><b>Detailed before/after</b></summary> ## Before ```text $ x test tidyselftest --no-doc Building bootstrap Finished `dev` profile [unoptimized] target(s) in 0.03s Testing stage1 tidy (aarch64-apple-darwin) Compiling tidy v0.1.0 (/Users/stuart/Dev/rust/rust/src/tools/tidy) Finished `release` profile [optimized + debuginfo] target(s) in 0.23s Running unittests src/lib.rs (build/aarch64-apple-darwin/bootstrap-tools/aarch64-apple-darwin/release/deps/tidy-c33a0cc08cf46c66) running 20 tests tidy [alphabetical-test]: bad:3 found `tidy-alphabetical-start` expecting `tidy-alphabetical-end` tidy [alphabetical-test]: FAIL tidy [alphabetical-test]: bad: reached end of file expecting `tidy-alphabetical-end`tidy [alphabetical-test]: bad:4: line not in alphabetical order tidy [alphabetical-test]: bad:5 found `tidy-alphabetical-end` expecting `tidy-alphabetical-start` tidy [alphabetical-test]: FAIL tidy [alphabetical-test]: FAIL tidy [alphabetical-test].: tidy [alphabetical-test...bad:4: line not in alphabetical order..]: tidy [alphabetical-test]: .. bad:7: line not in alphabetical order tidy [tidy [bad:2 found `tidy-alphabetical-end` expecting `tidy-alphabetical-start` alphabetical-testtidy [tidy [alphabetical-test]: bad:4: line not in alphabetical order .tidy [alphabetical-test]..]alphabetical-testtidy []: bad:4: line not in alphabetical orderalphabetical-testalphabetical-test]: tidy [FAILalphabetical-test ]: FAIL ]: FAIL : FAIL : bad:4: line not in alphabetical order tidy [alphabetical-test]: FAIL tidy [.alphabetical-test]: FAIL .tidy [alphabetical-test]: FAIL ..tidy [alphabetical-test]: bad:3: line not in alphabetical order tidy [alphabetical-test]: FAIL tidy [alphabetical-test]: bad:3: line not in alphabetical order tidy [alphabetical-test]: FAIL ..... test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01ms Running unittests src/main.rs (build/aarch64-apple-darwin/bootstrap-tools/aarch64-apple-darwin/release/deps/rust_tidy-25232a69af4dd751) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 26.88µs finished in 0.255 seconds Build completed successfully in 0:00:00 ``` ## After ```text $ x test tidyselftest --no-doc Building bootstrap Finished `dev` profile [unoptimized] target(s) in 0.03s Testing stage1 tidy (aarch64-apple-darwin) Compiling tidy v0.1.0 (/Users/stuart/Dev/rust/rust/src/tools/tidy) Finished `release` profile [optimized + debuginfo] target(s) in 1.74s Running unittests src/lib.rs (build/aarch64-apple-darwin/bootstrap-tools/aarch64-apple-darwin/release/deps/tidy-c33a0cc08cf46c66) running 20 tests .................... test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.35ms Running unittests src/main.rs (build/aarch64-apple-darwin/bootstrap-tools/aarch64-apple-darwin/release/deps/rust_tidy-25232a69af4dd751) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 27.17µs finished in 1.764 seconds Build completed successfully in 0:00:02 ``` </details>
miri subtree update Subtree update of `miri` to rust-lang/miri@7d5ae36. Created using https://github.com/rust-lang/josh-sync. r? ``@ghost``
Fix typo in unstable-book link This prevented the links from being rendered. Sorry for not noticing this before my changes were merged yesterday. Introduced in #147935 cc ``@petrochenkov``
Add myself(chenyukang) to the review rotation hope I have more time to catch up 💙
Rollup of 10 pull requests Successful merges: - #148683 (Remove `#[const_trait]`) - #148687 (std: use a non-poisoning `RwLock` for the panic hook) - #148709 (fix: disable self-contained linker when bootstrap-override-lld is set) - #148716 (mgca: Finish implementation of `#[type_const]`) - #148722 (Add Crystal Durham to .mailmap) - #148723 (bootstrap: Render doctest timing reports as text, not JSON) - #148724 (tidy: Don't bypass stderr output capture in unit tests) - #148734 (miri subtree update) - #148736 (Fix typo in unstable-book link) - #148744 (Add myself(chenyukang) to the review rotation) r? `@ghost` `@rustbot` modify labels: rollup
…ieyouxu Implement the MCP 932: Promote riscv64a23-unknown-linux-gnu to Tier 2 Implement the [MCP 932](rust-lang/compiler-team#932): Promote riscv64a23-unknown-linux-gnu to Tier 2 without host tools. Closes #148353. Changes: - Update target tier from 3 to 2 in target specification - Update platform documentation - Add CI/CD support for automatic building and distribution via rustup r? jieyouxu cc `@davidtwco` `@Noratrieb`
Constify `ControlFlow` methods without unstable bounds Feature: `min_const_control_flow` Tracking issue: #148738 This PR constifies some of the methods on `ControlFlow`.
compiletest: Do the known-directives check only once, and improve its error message This PR is a combination of three changes: - Store the list of known directives in a set, so that checking a directive name doesn't require a linear scan - Extract the known-directives check out of `iter_directives` and do it only once, instead of multiple times per file - Improve the error message for unknown directives, [as requested on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Compiletest.20directive.20parsing.20error/with/553598083) The change to error messages is fused with the extraction, since doing it independently would have been more awkward. --- ## Before ```text Testing stage1 with compiletest suite=coverage mode=coverage-map (aarch64-apple-darwin) errors encountered during EarlyProps parsing: /Users/stuart/Dev/rust/rust/tests/coverage/trivial.rs 2025-11-05T01:55:46.440012Z ERROR compiletest::directives: /Users/stuart/Dev/rust/rust/tests/coverage/trivial.rs:2: detected unknown compiletest test directive `add-core-stubs` thread '<unnamed>' (36268582) panicked at src/tools/compiletest/src/directives.rs:72:13: errors encountered during EarlyProps parsing note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` ## After ```text Testing stage1 with compiletest suite=coverage mode=coverage-map (aarch64-apple-darwin) thread '<unnamed>' (36270772) panicked at src/tools/compiletest/src/lib.rs:876:9: directives check failed: ERROR: unknown compiletest directive `add-core-stubs` at /Users/stuart/Dev/rust/rust/tests/coverage/trivial.rs:2 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ```
…ek,fmease Fix invalid macro tag generation for keywords which can be followed by values Fixes #148617. The problem didn't come from the `generate-macro-expansion` feature but was actually uncovered thanks to it. Keywords like `if` or `return`, when followed by a `!` were considered as macros, which was wrong and let to invalid class stack and to the panic. ~~While working on it, I realized that `_` was considered as a keyword, so I fixed that as well in the second commit.~~ (reverted, see #148655 (comment), #148655 (comment)) r? `@yotamofek`
Rollup of 4 pull requests Successful merges: - #148248 (Constify `ControlFlow` methods without unstable bounds) - #148285 (Constify `ControlFlow` methods with unstable bounds) - #148510 (compiletest: Do the known-directives check only once, and improve its error message) - #148655 (Fix invalid macro tag generation for keywords which can be followed by values) r? `@ghost` `@rustbot` modify labels: rollup
Update LLVM to 21.1.5 Includes some fixes for BPF.
compiletest: Run the `lldb_batchmode.py` script in LLDB's embedded Python Historically, LLDB debuginfo tests have used a Python script to control LLDB via its Python API, instead of invoking the `lldb` command directly. Unfortunately, this requires us to find and use a version of Python that is compatible with LLDB's Python bindings. However, it turns out that there is a simpler way to find a compatible Python interpreter: use the one that is embedded in LLDB itself, via the `script` command.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )