-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Rollup of 13 pull requests #136613
Rollup of 13 pull requests #136613
Conversation
This method will be removed in the future as it produces a broken ABI that depends on cg_llvm implementation details. After this PR wasm32-unknown-unknown is the only remaining user of make_direct_deprecated().
…ched parameters when showing the definition.
These were detected by temporarily making `mod llvm` non-public.
We have four macros for generating trivial traversal (fold/visit) and lift impls. - `rustc_ir::TrivialTypeTraversalImpls` - `rustc_middle::TrivialTypeTraversalImpls` - `rustc_middle::TrivialLiftImpls` - `rustc_middle::TrivialTypeTraversalAndLiftImpls` The first two are very similar. The last one just combines the second and third one. The macros themselves are ok, but their use is a mess. This commit does the following. - Removes types that no longer need a lift and/or traversal impl from the macro calls. - Consolidates the macro calls into the smallest number of calls possible, with each one mentioning as many types as possible. - Orders the types within those macro calls alphabetically, and makes the module qualification more consistent. - Eliminates `rustc_middle::mir::type_foldable`, because the macro calls were merged and the manual `TypeFoldable` impls are better placed in `structural_impls.rs`, alongside all the other ones. This makes the code more concise. Moving forward, it also makes it more obvious where new types should be added.
This has been bugging me for some time.
…ywiser Avoid using make_direct_deprecated() in extern "ptx-kernel" This method will be removed in the future as it produces a broken ABI that depends on cg_llvm implementation details. After this PR wasm32-unknown-unknown is the only remaining user of make_direct_deprecated(). Fixes rust-lang#117271 Blocks rust-lang#38788
Pass spans around new solver ...so that when we instantiate canonical responses, we can actually have region obligations with the right span. Within the solver itself, we still use dummy spans everywhere.
… r=oli-obk Fix `rustc_hidden_type_of_opaques` for RPITITs with no default body Needed this when debugging something
…ouxu Document minimum supported host tooling on macOS In particular we support macOS 10.12 (same as for binaries produced by `rustc`) and Xcode 9.2 (the highest Xcode version that runs on macOS 10.12.6). I have this installed on a MacBook Pro from 2013 that sits below my desk, and am occasionally testing it. I am documenting this now because it was unclear in rust-lang#136523. (I'm not inherently against bumping these one day, but that's a separate discussion, let's at least document what we support right now). `@rustbot` label O-macos
Clean up `Trivial*Impls` macros They're currently quite messy. Details in the individual commit logs. r? `@lcnr`
Fix link in from_fn.rs
…type-reason, r=compiler-errors Document why some "type mismatches" exist Just something I stumbled over and thought to save myself (and maybe others) the research time when encountering it again.
Only highlight unmatchable parameters at the definition site Followup to rust-lang#136497 This generally results more focused messages in the same vein as rust-lang#99635 (see `test/ui/argument-suggestions/complex.rs`). There are still some cases (e.g. `test/ui/argument-suggestions/permuted_arguments.rs`) where it might be worth highlighting the arguments. This is mitigated by the fact that a suggestion with a suggested rearrangement is given. r? `@compiler-errors`
…=notriddle Update browser-ui-test version to `0.20.2` r? `@notriddle`
… r=compiler-errors Implement RustcInternal for RawPtrKind Implement `RustcInternal` for `RawPtrKind`. rust-lang#135748 introduced a `Stable` implementation [here](https://github.com/rust-lang/rust/pull/135748/files#diff-60f5e8edf69e04e89ef0c7f576363a91fa141e1db969484cef00063ed39c62e4R235).
…rgau Add `rustc_hir_pretty::expr_to_string` function It'll allow me to work on a new rustdoc feature. :) r? `@Urgau`
…, r=Noratrieb Fix `unreachable_pub` lint for hermit target The build for the hermit target (`#[cfg(target_os = "hermit")]`) fails on master as of [8df89d1](rust-lang@8df89d1) (2025-02-05), due to introducing `#[warn(unreachable_pub)]` at the root in rust-lang#134286 (Enable unreachable_pub lint in core, merged 2025-01-20). Make the relevant visibility modifiers more specific to resolve the warning. ``` $ ./x build --target x86_64-unknown-hermit Building bootstrap Finished `dev` profile [unoptimized] target(s) in 0.34s Building stage0 library artifacts (x86_64-apple-darwin) Finished `release` profile [optimized] target(s) in 0.15s Building compiler artifacts (stage0 -> stage1, x86_64-apple-darwin) Finished `release` profile [optimized] target(s) in 1.67s Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`) Building stage1 library artifacts {alloc, core, panic_abort, panic_unwind, proc_macro, std, sysroot, test, unwind} (x86_64-apple-darwin -> x86_64-unknown-hermit) Compiling panic_unwind v0.0.0 (library/panic_unwind) error: unreachable `pub` item --> library/panic_unwind/src/hermit.rs:10:9 | 10 | pub fn __rust_abort() -> !; | ---^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates = note: `-D unreachable-pub` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(unreachable_pub)]` error: unreachable `pub` item --> library/panic_unwind/src/hermit.rs:17:9 | 17 | pub fn __rust_abort() -> !; | ---^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates error: could not compile `panic_unwind` (lib) due to 2 previous errors Build completed unsuccessfully in 0:00:39 ```
…gjubilee cg_llvm: Remove the `mod llvm_` hack, which should no longer be necessary This re-export was introduced in rust-lang@c76fc3d, as a workaround for rust-lang#53912. In short, there was/is an assumption in some LLVM LTO code that symbol names would not contain `.llvm.`, but legacy symbol mangling would naturally produce that sequence for symbols in a module named `llvm`. This was later “fixed” by adding a special case to the legacy symbol mangler in rust-lang#61195, which detects the sequence `llvm` and emits the `m` in an escaped form. As a result, there should no longer be any need to avoid the module name `llvm` in the compiler itself. (Symbol mangling v0 avoids this problem by not using `.` in the first place, outside of the “vendor-specific suffix”.)
@bors r+ rollup=never p=5 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: c753cb9b42 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (5958825): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (secondary -3.6%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (primary 3.8%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 777.255s -> 779.996s (0.35%) |
Successful merges:
rustc_hidden_type_of_opaques
for RPITITs with no default body #136550 (Fixrustc_hidden_type_of_opaques
for RPITITs with no default body)Trivial*Impls
macros #136563 (Clean upTrivial*Impls
macros)0.20.2
#136587 (Update browser-ui-test version to0.20.2
)rustc_hir_pretty::expr_to_string
function #136591 (Addrustc_hir_pretty::expr_to_string
function)unreachable_pub
lint for hermit target #136595 (Fixunreachable_pub
lint for hermit target)mod llvm_
hack, which should no longer be necessary #136611 (cg_llvm: Remove themod llvm_
hack, which should no longer be necessary)Failed merges:
rustc_abi
reexports #136565 (compiler: Clean up weirdrustc_abi
reexports)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup