-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Rollup of 15 pull requests #130007
Rollup of 15 pull requests #130007
Commits on Jul 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1ab0e6c - Browse repository at this point
Copy the full SHA 1ab0e6cView commit details
Commits on Aug 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1ef4f5d - Browse repository at this point
Copy the full SHA 1ef4f5dView commit details
Commits on Aug 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b5bd0fe - Browse repository at this point
Copy the full SHA b5bd0feView commit details
Commits on Aug 30, 2024
-
bootstrap: Try to track down why
initial_libdir
sometimes failsDetermining this path occasionally fails locally for unknown reasons, resulting in the build failing with an unhelpful `StripPrefixError(())` panic message. In order to track down why that's happening, include some relevant information in the panic message when that failure occurs.
Configuration menu - View commit details
-
Copy full SHA for 21edc73 - Browse repository at this point
Copy the full SHA 21edc73View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39e3add - Browse repository at this point
Copy the full SHA 39e3addView commit details
Commits on Sep 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0402394 - Browse repository at this point
Copy the full SHA 0402394View commit details -
copy rustc rustlib artifacts from ci-rustc
We recently had an issue because some rustlib files were missing (like: "error[E0463]: can't find crate for rustc_ast") when building tools that rely on rustc. This patch fixes that by copying those files as required. Signed-off-by: onur-ozkan <work@onurozkan.dev>
Configuration menu - View commit details
-
Copy full SHA for b5d07fd - Browse repository at this point
Copy the full SHA b5d07fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 98f74b4 - Browse repository at this point
Copy the full SHA 98f74b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3efe3d - Browse repository at this point
Copy the full SHA f3efe3dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e2484be - Browse repository at this point
Copy the full SHA e2484beView commit details
Commits on Sep 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 4df28b8 - Browse repository at this point
Copy the full SHA 4df28b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 93b4b2d - Browse repository at this point
Copy the full SHA 93b4b2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f7679d0 - Browse repository at this point
Copy the full SHA f7679d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49e3b9a - Browse repository at this point
Copy the full SHA 49e3b9aView commit details
Commits on Sep 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e8472e8 - Browse repository at this point
Copy the full SHA e8472e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 67804c5 - Browse repository at this point
Copy the full SHA 67804c5View commit details -
Remove wasm32-wasip2's tier 2 status from release notes
It turns out the stars did not actually align for this to get released in Rust 1.81 alas. Full tier 2 status for `wasm32-wasip2` required two PRs: * rust-lang#126967 - this made it into Rust 1.81 * rust-lang#127867 - this didn't make the cut and is in Rust 1.82 instead This wasn't caught until just after today's release so the plan is to remove the release notes for 1.81 and coordinate to instead add these as release notes to 1.82.
Configuration menu - View commit details
-
Copy full SHA for a551ccc - Browse repository at this point
Copy the full SHA a551cccView commit details -
Configuration menu - View commit details
-
Copy full SHA for f6e8a84 - Browse repository at this point
Copy the full SHA f6e8a84View commit details
Commits on Sep 6, 2024
-
Rollup merge of rust-lang#128345 - sthibaul:hurd-amd64, r=Urgau
added support for GNU/Hurd on x86_64
Configuration menu - View commit details
-
Copy full SHA for c4b6df2 - Browse repository at this point
Copy the full SHA c4b6df2View commit details -
Rollup merge of rust-lang#128919 - Nadrieril:lint-query-leaks, r=cjgi…
…llot Add an internal lint that warns when accessing untracked data Some methods access data that is not tracked by the query system and should be used with caution. As suggested in rust-lang#128815 (comment), in this PR I propose a lint (modeled on the `potential_query_instability` lint) that warns when using some specially-annotatted functions. I can't tell myself if this lint would be that useful, compared to renaming `Steal::is_stolen` to `is_stolen_untracked`. This would depend on whether there are other functions we'd want to lint like this. So far it seems they're called `*_untracked`, which may be clear enough. r? ```@oli-obk```
Configuration menu - View commit details
-
Copy full SHA for 8805d45 - Browse repository at this point
Copy the full SHA 8805d45View commit details -
Rollup merge of rust-lang#129021 - compiler-errors:ptr-cast-outlives,…
… r=lcnr Check WF of source type's signature on fn pointer cast This PR patches the implied bounds holes slightly for rust-lang#129005, rust-lang#25860. Like most implied bounds related unsoundness fixes, this isn't complete w.r.t. higher-ranked function signatures, but I believe it implements a pretty good heuristic for now. ### What does this do? This PR makes a partial patch for a soundness hole in a `FnDef` -> `FnPtr` "reifying" pointer cast where we were never checking that the signature we are casting *from* is actually well-formed. Because of this, and because `FnDef` doesn't require its signature to be well-formed (just its predicates must hold), we are essentially allowed to "cast away" implied bounds that are assumed within the body of the `FnDef`: ``` fn foo<'a, 'b, T>(_: &'a &'b (), v: &'b T) -> &'a T { v } fn bad<'short, T>(x: &'short T) -> &'static T { let f: fn(_, &'short T) -> &'static T = foo; f(&&(), x) } ``` In this example, subtyping ends up casting the `_` type (which should be `&'static &'short ()`) to some other type that no longer serves as a "witness" to the lifetime relationship `'short: 'static` which would otherwise be required for this call to be WF. This happens regardless of if `foo`'s lifetimes are early- or late-bound. This PR implements two checks: 1. We check that the signature of the `FnDef` is well-formed *before* casting it. This ensures that there is at least one point in the MIR where we ensure that the `FnDef`'s implied bounds are actually satisfied by the caller. 2. Implements a special case where if we're casting from a higher-ranked `FnDef` to a non-higher-ranked, we instantiate the binder of the `FnDef` with *infer vars* and ensure that it is a supertype of the target of the cast. The (2.) is necessary to validate that these pointer casts are valid for higher-ranked `FnDef`. Otherwise, the example above would still pass even if `help`'s `'a` lifetime were late-bound. ### Further work The WF checks for function calls are scattered all over the MIR. We check the WF of args in call terminators, we check the WF of `FnDef` when we create a `const` operand referencing it, and we check the WF of the return type in rust-lang#115538, to name a few. One way to make this a bit cleaner is to simply extend rust-lang#115538 to always check that the signature is WF for `FnDef` types. I may do this as a follow-up, but I wanted to keep this simple since this leads to some pretty bad NLL diagnostics regressions, and AFAICT this solution is *complete enough*. ### Crater triage Done here: rust-lang#129021 (comment) r? lcnr
Configuration menu - View commit details
-
Copy full SHA for f4934ff - Browse repository at this point
Copy the full SHA f4934ffView commit details -
Rollup merge of rust-lang#129472 - folkertdev:const-refs-to-static-as…
…m-const, r=lcnr fix ICE when `asm_const` and `const_refs_to_static` are combined fixes rust-lang#129462 fixes rust-lang#126896 fixes rust-lang#124164 I think this is a case that was missed in the fix for rust-lang#125558, which inserts a type error in the case of an invalid (that is, non-integer) type being passed to an asm `const` operand. I'm not 100% sure that `span_mirbug_and_err` is the right macro here, but it is used earlier with `builtin_deref` and seems to do the trick. r? ```@lcnr```
Configuration menu - View commit details
-
Copy full SHA for 760d14d - Browse repository at this point
Copy the full SHA 760d14dView commit details -
Rollup merge of rust-lang#129653 - RalfJung:addr-of-read-only, r=scot…
…tmcm clarify that addr_of creates read-only pointers Stacked Borrows does make this UB, but Tree Borrows does not. This is tied up with rust-lang#56604 and other UCG discussions. Also see [this collection of links](Rust-for-Linux/linux#950 (comment)) where rustc treats `addr_of!` as a "non-mutating use". So, let's better be careful for now.
Configuration menu - View commit details
-
Copy full SHA for 6e49ddd - Browse repository at this point
Copy the full SHA 6e49dddView commit details -
Rollup merge of rust-lang#129775 - Zalathar:initial-libdir, r=albertl…
…arsan68 bootstrap: Try to track down why `initial_libdir` sometimes fails When I try to run `x` commands from the command-line, I occasionally see a mysterious failure that looks something like this: ```text thread 'main' panicked at src/lib.rs:341:14: called `Result::unwrap()` on an `Err` value: StripPrefixError(()) ``` It happens often enough to be annoying, but rarely enough that I can't reproduce it at will. The error message points to a particular `unwrap` call, but doesn't include enough context to determine *why* the failure occurs. Re-running the command almost always works, so I suspect some kind of filesystem race condition (possibly involving VSCode invoking bootstrap at the same time), but there's not much I can do with the information I currently have. So this PR includes some relevant information in the panic message when the failure occurs, in the hope that doing so will make the cause easier to track down when the failure occurs again.
Configuration menu - View commit details
-
Copy full SHA for 69e8af0 - Browse repository at this point
Copy the full SHA 69e8af0View commit details -
Rollup merge of rust-lang#129781 - Veykril:lw-x-py-compiler-features,…
… r=albertlarsan68 Make `./x.py <cmd> compiler/<crate>` aware of the crate's features Does not fix rust-lang#129727 on its own as the way the parallel-compiler cfg and feature flags are setup being generally incompatible with `resolver = 2` but it progresses on the issue. But this should in theory allow compiler crates to work that do not depend on the parallel compiler stuff (so some leaf crates).
Configuration menu - View commit details
-
Copy full SHA for bf5f35f - Browse repository at this point
Copy the full SHA bf5f35fView commit details -
Rollup merge of rust-lang#129939 - RalfJung:rvalue-len, r=compiler-er…
…rors explain why Rvalue::Len still exists I just spent a bit of time trying to remove this until I realized why that's non-trivial. Let's document that for the next person. :)
Configuration menu - View commit details
-
Copy full SHA for 2cd3034 - Browse repository at this point
Copy the full SHA 2cd3034View commit details -
Rollup merge of rust-lang#129942 - onur-ozkan:building-rustc-tools, r…
…=Kobzol copy rustc rustlib artifacts from ci-rustc We recently (since rust-lang#129311) had an issue because some rustlib files were missing (like: "error[E0463]: can't find crate for rustc_ast") when building tools that rely on rustc. This patch fixes that by copying those files as required. r? Kobzol Blocker for rust-lang#122709
Configuration menu - View commit details
-
Copy full SHA for 37dfa6e - Browse repository at this point
Copy the full SHA 37dfa6eView commit details -
Rollup merge of rust-lang#129944 - Mark-Simulacrum:relnotes-tweak, r=…
…pietroalbini Add compat note for trait solver change r? ```@pietroalbini``` ```@BoxyUwU``` cc ```@lcnr```
Configuration menu - View commit details
-
Copy full SHA for a161a4b - Browse repository at this point
Copy the full SHA a161a4bView commit details -
Rollup merge of rust-lang#129947 - LiterallyVoid:duration-docs-digit-…
…separators, r=tgross35 Add digit separators in `Duration` examples ```@rustbot``` label A-docs
Configuration menu - View commit details
-
Copy full SHA for 84fad23 - Browse repository at this point
Copy the full SHA 84fad23View commit details -
Rollup merge of rust-lang#129955 - fmease:fmease-break, r=fmease
Temporarily remove fmease from the review rotation Namely for like a week. I seriously need to work off my review backlog! r? fmease
Configuration menu - View commit details
-
Copy full SHA for ede726a - Browse repository at this point
Copy the full SHA ede726aView commit details -
Rollup merge of rust-lang#129957 - chenx97:lint-docs-linker-opt, r=al…
…bertlarsan68 forward linker option to lint-docs This fixes an error found when building the doc for a cross-built toolchain. ``` warning: the code example in lint `unstable_syntax_pre_expansion` in /buildroots/chenx97/rustc-1.80.1-src/compiler/rustc_lint_defs/src/builtin.rs failed to generate the expected output: did not find lint `unstable_syntax_p re_expansion` in output of example, got: error: linking with `cc` failed: exit status: 1 ... ``` Closes: rust-lang#129956
Configuration menu - View commit details
-
Copy full SHA for 8141f6e - Browse repository at this point
Copy the full SHA 8141f6eView commit details -
Rollup merge of rust-lang#129969 - GrigorenkoPV:boxed-ty, r=compiler-…
…errors Make `Ty::boxed_ty` return an `Option` Looks like a good place to use Rust's type system. --- Most of https://github.com/rust-lang/rust/blob/4ac7bcbaad8d6fd7a51bdf1b696cbc3ba4c796cf/compiler/rustc_middle/src/ty/sty.rs#L971-L1963 looks like it could be moved to `TyKind` (then I guess `Ty` should be made to deref to `TyKind`).
Configuration menu - View commit details
-
Copy full SHA for eed964e - Browse repository at this point
Copy the full SHA eed964eView commit details -
Rollup merge of rust-lang#129995 - alexcrichton:remove-wasm32-wasip2-…
…release-notes, r=pietroalbini Remove wasm32-wasip2's tier 2 status from release notes It turns out the stars did not actually align for this to get released in Rust 1.81 alas. Full tier 2 status for `wasm32-wasip2` required two PRs: * rust-lang#126967 - this made it into Rust 1.81 * rust-lang#127867 - this didn't make the cut and is in Rust 1.82 instead This wasn't caught until just after today's release so the plan is to remove the release notes for 1.81 and coordinate to instead add these as release notes to 1.82.
Configuration menu - View commit details
-
Copy full SHA for 613c36d - Browse repository at this point
Copy the full SHA 613c36dView commit details