it seems gdb 15 regresses some of our debuginfo tests. disable them
temporarily so that CI doesn't randomly start failing soon.
(cherry picked from commit 6e19f82160c216fcb5f8eaff915b7fe274a5568e)
[beta] backports
- fix attribute validation on associated items in traits #121545
- Only inspect user-written predicates for privacy concerns #123377
- Check def id before calling `match_projection_projections` #123471
- Restore `pred_known_to_hold_modulo_regions` #123578
- Beta revert "Use OS thread name by default" #123533
r? cuviper
This reverts #121666 due to #123495
This has already been done on master but beta needs something that will backport cleanly.
(cherry picked from commit 081ad8527d7b79e4761c497c12930e630de9a230)
[beta] backports
- Fix f16 and f128 feature gates in editions other than 2015 #123307 / #123445
- Update to LLVM 18.1.2 #122772
- unix fs: Make hurd using explicit new rather than From #123057
- Don't inherit codegen attrs from parent static #123310
- Make sure to insert Sized bound first into clauses list #123302
r? cuviper
408c0ea2162b ("unix time module now return result") dropped the From
impl for SystemTime, breaking the hurd and horizon builds.
Fixes#123032
(cherry picked from commit 7b4e5079619f99a1bff8a2f388b498be5687d280)
Reproduce the bug from <https://github.com/rust-lang/rust/issues/123282>
that indicates this feature gate hits edition-dependent resolution paths.
Resolution changed in edition 2018, so test that as well.
(cherry picked from commit 9a7b1762279eaa95d0289760d3b859fbbc9221f1)
[beta] backports
- Do not eat nested expressions' results in `MayContainYieldPoint` format args visitor #122680
- Fix heading anchors in doc pages. #122693
- Make `#[diagnostic::on_unimplemented]` format string parsing more robust #122402
- Update ninja on Windows #123178
r? cuviper
Errors started showing up, and I read somewhere that this might be
because of old ninja versions. This ninja version is indeed *ancient*.
```
multiple outputs aren't (yet?) supported by depslog; bring this up on the mailing list if it affects you
```
(cherry picked from commit b546764cbef7ac449cbad86636b4ca8daa9f5ef6)
This commit fixes several issues with the format string parsing of the
`#[diagnostic::on_unimplemented]` attribute that were pointed out by
@ehuss.
In detail it fixes:
* Appearing format specifiers (display, etc). For these we generate a
warning that the specifier is unsupported. Otherwise we ignore them
* Positional arguments. For these we generate a warning that positional
arguments are unsupported in that location and replace them with the
format string equivalent (so `{}` or `{n}` where n is the index of the
positional argument)
* Broken format strings with enclosed }. For these we generate a warning
about the broken format string and set the emitted message literally to
the provided unformatted string
* Unknown format specifiers. For these we generate an additional warning
about the unknown specifier. Otherwise we emit the literal string as
message.
This essentially makes those strings behave like `format!` with the
minor difference that we do not generate hard errors but only warnings.
After that we continue trying to do something unsuprising (mostly either
ignoring the broken parts or falling back to just giving back the
literal string as provided).
Fix#122391
(cherry picked from commit 5568c569c03c8c22ce81185b9e49efcaa6866050)
[beta-1.78] Update cargo
2 commits in 2fe739fcf16c5bf8c2064ab9d357f4a0e6c8539b..54d8815d04fa3816edc207bbc4dd36bf18014dbc
2024-03-15 21:39:18 +0000 to 2024-03-26 18:23:22 +0000
- [beta-1.78] Do not strip debuginfo by default for MSVC (rust-lang/cargo#13653)
- [beta 1.78] Fix publish script due to crates.io CDN change (rust-lang/cargo#13616)
r? ghost
This ensures that tests are permitted to use nightly features, which is
currently required for them to run at all.
Also ignore a test that relies on running with RUSTC_BOOTSTRAP *not*
set.
Rollup of 7 pull requests
Successful merges:
- #122323 (configure.py: add flag for loongarch64 musl-root)
- #122372 (prevent notifying the same changes more than once)
- #122390 (Bump windows-bindgen to 0.55.0)
- #122401 (Check library crates for all tier 1 targets in PR CI)
- #122489 (Bump `cargo update` PR more often)
- #122583 (Use `UnsafeCell` for fast constant thread locals)
- #122590 (bootstrap: Don't name things copy that are not copies)
r? `@ghost`
`@rustbot` modify labels: rollup
bootstrap: Don't name things copy that are not copies
The bootstrap copy methods don't actually copy, they just hard link. Simply lying about it being "copying" can be very confusing! (ask me how I know!).
I'm not sure whether the name I chose is the ideal name, but it's definitely better than before.
Use `UnsafeCell` for fast constant thread locals
This uses `UnsafeCell` instead of `static mut` for fast constant thread locals. This changes the type of the TLS shims to return `&UnsafeCell<T>` instead of `*mut T` which means they are always non-null so LLVM can optimize away the check for `Some` in `LocalKey::with` if `T` has no destructor.
LLVM is currently unable to do this optimization as we lose the fact that `__getit` always returns `Some` as it gets optimized to just returning the value of the TLS shim.
Check library crates for all tier 1 targets in PR CI
Let's try checking all tier 1 targets. Shouldn't take much time.
Not sure if this is the right place to put it or not but let's see if it works first.
Bump windows-bindgen to 0.55.0
windows-bindgen is the crate used to generate std's Windows API bindings.
Not many changes for us, it's mostly just simplifying the generate code (e.g. no more `-> ()`). The one substantial change is some structs now use `i8` byte arrays instead of `u8`. However, this only impacts one test.
prevent notifying the same changes more than once
Prevents re-reporting of previously notified changes by using the .last-warned-change-id value for change detection.
Resolves#122344
Subtree sync for rustc_codegen_cranelift
The main highlight this time is a fix for a recently introduced ICE.
Fixes https://github.com/rust-lang/rust/issues/122399
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler