Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
521cfd7
Add `remove hidden_glob_reexports item breaks downstream` test
mejrs Aug 5, 2026
849a980
Enable all EII tests on Windows MSVC
AsakuraMizu Aug 7, 2026
26932d6
remove unwrap from write_mir_fn_graphviz
malezjaa Aug 10, 2026
40952ff
Only generate search elements if the search is actually needed
GuillaumeGomez Aug 6, 2026
d83d804
Add test to ensure that search DOM elements are only generated if needed
GuillaumeGomez Aug 6, 2026
730e9a6
Add comment in `tests/rustdoc-gui/sidebar-source-code-display.goml` t…
GuillaumeGomez Aug 8, 2026
0df03a1
Agony. Also fix some more TLS global alloc reentrancy
maxdexh Aug 13, 2026
083e8a8
fix arm homogeneous aggregate ABI
folkertdev Aug 13, 2026
c5749cb
Normalize EII dylib test coverage
AsakuraMizu Aug 8, 2026
7fa4ded
atomic volatile: add intrinsics
RalfJung Jul 28, 2026
10ff99b
[PAC] Introduce function pointer type encoder and hashing function
jchlanda Jul 10, 2026
798151e
[PAC] Add unit tests for sip hash
jchlanda Jul 20, 2026
1b80b2d
[PAC] Provide information on where the SipHash tests were derived from
jchlanda Aug 5, 2026
415f5ad
[PAC] Update license-metadata.json
jchlanda Aug 6, 2026
a64a213
Merge commit 'de3cd39a9be127b7c5f9744dfc865d57a9d564d3' into sync_cg_…
bjorn3 Aug 17, 2026
4b714f2
Merge branch 'sync_from_rust'
bjorn3 Aug 17, 2026
c768371
Reserve capacity for 3% anon nodes
Zoxc Aug 17, 2026
45c3571
Rollup merge of #160058 - RalfJung:atomic-volatile, r=JohnTitor
JonathanBrouwer Aug 17, 2026
a63c33b
Move `GlobalCtxt::dep_kind_vtables`
nnethercote Aug 18, 2026
f7fcb54
Download auto jobs in citool in parallel
Kobzol Aug 17, 2026
b376bc3
Tighten the language used for documenting `TargetOptions::llvm_abiname`
jchlanda Aug 18, 2026
0a37491
add relnotes 1.98.0
BoxyUwU Aug 18, 2026
04fd652
make ARM maintainers pingable
RalfJung Aug 18, 2026
4378d34
do not make arm-maintainers look like a GH team
RalfJung Aug 18, 2026
d0225c6
Add regression test for rustc diagnostic to recognize variables in ma…
KevinA-cpu Aug 18, 2026
ce9a8ca
Do not panic when the result receiver is dropped prematurely
Kobzol Aug 19, 2026
6d632a7
Update the `rustc-perf` submodule
Kobzol Aug 19, 2026
7188874
rename `ProjectionPredicate` to `ProjectionClause`
ada4a Aug 18, 2026
7b5c709
rename `TraitPredicate` to `TraitClause`
ada4a Aug 12, 2026
2f5e253
Remove a bunch of unnecessary explicit lifetimes
oli-obk Aug 18, 2026
1854837
rustdoc: Always document `#[repr(transparent)]` if `#[rustc_pub_trans…
jamie-osec Jan 10, 2026
e0e6e19
Introduce `GlobalCaches`
nnethercote Aug 18, 2026
64e146e
Move `Session::used_features` to `QuerySystem`
nnethercote Aug 18, 2026
c55f5a3
Add a useful comment to `GlobalCtxt::prof`
nnethercote Aug 19, 2026
b2d6054
Sync from rust e71c0f1e3395b10a8c331317be1a5c107bdf7b2e
bjorn3 Aug 19, 2026
74292bf
vec: fixup the name that i forgot
nia-e Aug 19, 2026
c65c7a3
fix crash in async-drop and async-gen
im-lunex Aug 19, 2026
bb351cd
Rustup to rustc 1.100.0-nightly (e71c0f1e3 2026-08-18)
bjorn3 Aug 19, 2026
c67ff2a
Don't rely on std traits not being const in tests
Randl Aug 19, 2026
3f38a78
replace-version-placeholder
cuviper Aug 17, 2026
2276784
bump stage0 to 1.99.0-beta.1
cuviper Aug 18, 2026
1b32599
update `STAGE0_MISSING_TARGETS`
cuviper Aug 18, 2026
d480723
reformat
cuviper Aug 18, 2026
d3303c0
update `cfg(bootstrap)`
cuviper Aug 18, 2026
baa2ce0
bootstrap: update `-Zembed-metadata=no`
cuviper Aug 18, 2026
588068c
Merge commit 'bb351cd4ddf59d8a9b5c086a15e41bc6a1c05b5f' into sync_cg_…
bjorn3 Aug 19, 2026
1ae9e3f
Reflect current PR title names for subtree syncs in triagebot no-merges
Urgau Aug 19, 2026
9f30bc4
doc: list all remove_dir_all fallback targets
Muhtasim-Munif-Fahim Aug 19, 2026
57e06bc
Apply suggestions from code review
cuviper Aug 19, 2026
6c27892
Rollup merge of #161325 - cuviper:bump-stage0, r=Mark-Simulacrum
JonathanBrouwer Aug 20, 2026
b7ecc0c
Rollup merge of #161344 - Kobzol:update-rustc-perf, r=lqd
JonathanBrouwer Aug 20, 2026
2595bdd
Rollup merge of #161366 - bjorn3:sync_cg_clif-2026-08-19, r=bjorn3
JonathanBrouwer Aug 20, 2026
0021168
Rollup merge of #159071 - jchlanda:jakub/pac_ty_disc_PR_1, r=davidtwco
JonathanBrouwer Aug 20, 2026
1017a0f
Rollup merge of #160639 - GuillaumeGomez:search-dom, r=lolbinarycat
JonathanBrouwer Aug 20, 2026
9b1bb3e
Rollup merge of #161068 - maxdexh:fix-thread-local-global-alloc-reent…
JonathanBrouwer Aug 20, 2026
872228c
Rollup merge of #161332 - nnethercote:GlobalCtxt-Session-cleanups, r=…
JonathanBrouwer Aug 20, 2026
1baf53d
Rollup merge of #150931 - clubby789:doc-rustc-pub-transparent, r=fmease
JonathanBrouwer Aug 20, 2026
0e8cd0a
Rollup merge of #158999 - Muhtasim-Munif-Fahim:codex/rust-remove-dir-…
JonathanBrouwer Aug 20, 2026
3a26045
Rollup merge of #160582 - mejrs:hidden_glob_reexports-test, r=davidtwco
JonathanBrouwer Aug 20, 2026
a1a10a3
Rollup merge of #160876 - malezjaa:remove-unrwap-graphviz, r=davidtwco
JonathanBrouwer Aug 20, 2026
a6a7ee2
Rollup merge of #160927 - AsakuraMizu:eii-tests, r=davidtwco
JonathanBrouwer Aug 20, 2026
e6199b5
Rollup merge of #161070 - folkertdev:armv7-align-abi, r=davidtwco
JonathanBrouwer Aug 20, 2026
7898ea6
Rollup merge of #161190 - im-lunex:fix_#161101, r=oli-obk
JonathanBrouwer Aug 20, 2026
b4c6a2b
Rollup merge of #161236 - Kobzol:citool-parallel, r=jieyouxu
JonathanBrouwer Aug 20, 2026
482e9c4
Rollup merge of #161254 - Zoxc:anon-node-reserve, r=davidtwco
JonathanBrouwer Aug 20, 2026
d24248a
Rollup merge of #161283 - jchlanda:jakub/MCTargetOptions, r=JohnTitor
JonathanBrouwer Aug 20, 2026
9193dfe
Rollup merge of #161291 - ada4a:push-xqqtloltnvwu, r=oli-obk
JonathanBrouwer Aug 20, 2026
b67e2c8
Rollup merge of #161293 - BoxyUwU:relnotes_1_98_0, r=cuviper
JonathanBrouwer Aug 20, 2026
45e262b
Rollup merge of #161299 - oli-obk:push-srmnrmyyzylq, r=mejrs
JonathanBrouwer Aug 20, 2026
850b08b
Rollup merge of #161307 - RalfJung:arm-maintainers, r=JohnTitor,david…
JonathanBrouwer Aug 20, 2026
1a8531a
Rollup merge of #161308 - KevinA-cpu:regression-test-80954, r=Nadrieril
JonathanBrouwer Aug 20, 2026
f098854
Rollup merge of #161346 - Randl:non-const-tests, r=oli-obk
JonathanBrouwer Aug 20, 2026
5284d9a
Rollup merge of #161360 - nia-e:vec-tiny-fixup, r=clarfonthey
JonathanBrouwer Aug 20, 2026
a115df6
Rollup merge of #161367 - Urgau:triagebot-no-merges-upd, r=bjorn3
JonathanBrouwer Aug 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,100 @@
Version 1.98.0 (2026-08-20)
==========================

<a id="1.98.0-Language"></a>

Language
--------
- [Allow shortening lifetime of `&mut` when unsize-coercing, even in an invariant position.](https://github.com/rust-lang/rust/pull/149219) For example, you can now coerce a `Cell<&'long mut i32>` to a `Cell<&'short mut dyn Send>`. Such shortenings were already previously allowed when coercing a `&mut` to a `&`, or coercing a `&` to a `&`.
- [Add deny-by-default `invalid_runtime_symbol_definitions` lint and warn-by-default `suspicious_runtime_symbol_definitions` lint](https://github.com/rust-lang/rust/pull/155521)
- The lints currently specifically targets `core` runtime symbols like `memcmp`, `memset`, `strlen`, ... and is planned to be expanded in the next few releases.
- [Add warn-by-default `c_void_returns` lint to check `core::ffi::c_void` as a return type](https://github.com/rust-lang/rust/pull/156379)


<a id="1.98.0-Platform-Support"></a>

Platform Support
----------------
- [Add `powerpc64-unknown-linux-gnuelfv2` as Tier 3](https://github.com/rust-lang/rust/pull/144220)
- [Add `aarch64-unknown-linux-pauthtest` as Tier 3 target](https://github.com/rust-lang/rust/pull/155722)
- [Promote `thumbv7a-none-eabi` to Tier 2](https://github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv7a-none-eabihf` to Tier 2](https://github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv7r-none-eabi` to Tier 2](https://github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv7r-none-eabihf` to Tier 2](https://github.com/rust-lang/rust/pull/155763)
- [Promote `thumbv8r-none-eabihf` to Tier 2](https://github.com/rust-lang/rust/pull/155763)


Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.98.0-Libraries"></a>

Libraries
---------
- [Change `Location<'_>` lifetime to `'static` in `Panic[Hook]Info`](https://github.com/rust-lang/rust/pull/146561)
- [Document panic in `RangeInclusive::from(legacy::RangeInclusive)`](https://github.com/rust-lang/rust/pull/155421)
- [Document that `ManuallyDrop`'s `Box` interaction has been fixed](https://github.com/rust-lang/rust/pull/155750)
- [Stabilize LoongArch CRC Intrinsics](https://github.com/rust-lang/rust/issues/156908)
- [The `derive` macro is available at `{core,std}::derive`.](https://github.com/rust-lang/rust/issues/154645) This was previously [unintentionally stabilized in 1.96](https://github.com/rust-lang/rust/issues/159856), but is now [explicitly accepted](https://github.com/rust-lang/rust/issues/154645) as a stabilized API.
- Please note that the MSRV for `{core,std}::derive` will be 1.96, and not 1.98.


<a id="1.98.0-Stabilized-APIs"></a>

Stabilized APIs
---------------

- [`str::substr_range`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.substr_range)
- [`[T]::subslice_range`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.subslice_range)
- [`core::fmt::NumBuffer`](https://doc.rust-lang.org/stable/core/fmt/struct.NumBuffer.html)
- [`<{integer}>::format_into`](https://doc.rust-lang.org/stable/core/primitive.usize.html#method.format_into)
- [`Send/Sync for std::process::CommandArgs`](https://doc.rust-lang.org/stable/std/process/struct.CommandArgs.html#impl-Send-for-CommandArgs%3C'a%3E)
- [`{fN}::algebraic_add`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_add)
- [`{fN}::algebraic_sub`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_sub)
- [`{fN}::algebraic_mul`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_mul)
- [`{fN}::algebraic_div`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_div)
- [`{fN}::algebraic_rem`](https://doc.rust-lang.org/stable/core/primitive.f32.html#method.algebraic_rem)
- [`NonZero<{integer}>::from_str_radix`](https://doc.rust-lang.org/stable/core/num/struct.NonZero.html#method.from_str_radix-4)
- [`String::from_utf16le`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le)
- [`String::from_utf16le_lossy`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16le_lossy)
- [`String::from_utf16be`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be)
- [`String::from_utf16be_lossy`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.from_utf16be_lossy)
- [`[T]::strip_circumfix`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.strip_circumfix)
- [`str::strip_circumfix`](https://doc.rust-lang.org/stable/core/primitive.str.html#method.strip_circumfix)
- [`Atomic<T>::from_mut`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut)
- [`Atomic<T>::get_mut_slice`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.get_mut_slice)
- [`Atomic<T>::from_mut_slice`](https://doc.rust-lang.org/stable/core/sync/atomic/struct.Atomic.html#method.from_mut_slice)
- [`std::range::legacy`](https://doc.rust-lang.org/stable/std/range/legacy/index.html)


<a id="1.98.0-Compatibility-Notes"></a>

Compatibility Notes
-------------------
- [If fully elided, lifetime bounds of trait object types may now resolve differently or even get rejected in very specific niche scenarios](https://github.com/rust-lang/rust/pull/129543)
- [Error in more cases of ambiguous imports](https://github.com/rust-lang/rust/pull/145108)
- [Switch the destructors implementation for thread locals on Windows to use Fiber Local Storage (FLS)](https://github.com/rust-lang/rust/pull/148799)
- [Convert some cases of the `ambiguous_glob_imports` lint into a hard error](https://github.com/rust-lang/rust/pull/149195)
- [Where-bounds of the form `Type = Type` and `Type == Type` are no longer syntactically allowed](https://github.com/rust-lang/rust/pull/153513)
- [Ensure Send/Sync is not implemented for std::env::Vars{,Os}](https://github.com/rust-lang/rust/pull/155153)
- [Fix that in some attributes, arguments were not properly rejected](https://github.com/rust-lang/rust/pull/155193)
- [`repr(transparent)` is now more strict about which fields have "trivial" layout and hence can be ignored: `repr(C)` types, types with private fields, and `#[non_exhaustive]` types are no longer considered "trivial"](https://github.com/rust-lang/rust/pull/155299)
- [Correctly check whether types have equal size in `transmute()` when some `repr` attributes are involved.](https://github.com/rust-lang/rust/pull/155418)
- [More characters are escaped when printing strings and chars](https://github.com/rust-lang/rust/pull/155527)
- [Implement fast path for `derive(PartialOrd)` when deriving `Ord`](https://github.com/rust-lang/rust/pull/155598)
This can break crates in practice where a type's PartialOrd and Ord impls were inconsistent with each other.
- [Add temporary scope to `assert_eq` and `assert_ne`](https://github.com/rust-lang/rust/pull/155739)
- Closed a hole in the pattern matching [structural equality](https://doc.rust-lang.org/reference/patterns.html#constant-patterns) check, preventing cases where a match of a constant would be allowed, despite disagreeing with a manually written `PartialEq` implementation, when a `derive(PartialEq)` implementation for that type also exists.
- [On Emscripten the WASM exception handling ABI is now unconditionally used](https://github.com/rust-lang/rust/pull/156928) The `-Zemscripten-wasm-eh=false` flag to switch back to JS exceptions has been removed.
- [The UNSAFE_CODE lint is now consistently emitted for all unsafe attributes](https://github.com/rust-lang/rust/pull/157201)
- [Solaris: remove `File::lock` implementation, it has the wrong semantics (return "unsupported" instead)](https://github.com/rust-lang/rust/pull/157509)
- [Windows-gnu targets now specify baseline tools versions](https://github.com/rust-lang/rust/pull/158020)
- [rustfmt now discovers module files that are defined in `cfg_select!`](https://github.com/rust-lang/rust/pull/158372)
This may cause more code to be formatted which was previously ignored.


Version 1.97.1 (2026-07-16)
==========================

Expand Down
9 changes: 9 additions & 0 deletions REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -208,3 +208,12 @@ SPDX-FileCopyrightText = [
"Copyright (C) 2000-2024 Free Software Foundation, Inc.",
]
SPDX-License-Identifier = "GCC-exception-3.1"

[[annotations]]
path = "compiler/rustc_middle/src/ptrauth/llvm_siphash/tests.rs"
precedence = "override"
SPDX-FileCopyrightText = [
"2003-2019 University of Illinois at Urbana-Champaign.",
"The Rust Project Developers (see https://thanks.rust-lang.org)",
]
SPDX-License-Identifier = "Apache-2.0 WITH LLVM-exception AND (Apache-2.0 OR MIT)"
6 changes: 2 additions & 4 deletions compiler/rustc_abi/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1041,7 +1041,6 @@ impl Step for Size {
}

#[inline]
#[cfg(not(bootstrap))]
fn forward_overflowing(start: Self, count: usize) -> (Self, bool) {
let (s, o) = u64::forward_overflowing(start.bytes(), count);
(Self::from_bytes(s), o)
Expand All @@ -1063,7 +1062,6 @@ impl Step for Size {
}

#[inline]
#[cfg(not(bootstrap))]
fn backward_overflowing(start: Self, count: usize) -> (Self, bool) {
let (s, o) = u64::backward_overflowing(start.bytes(), count);
(Self::from_bytes(s), o)
Expand Down Expand Up @@ -2171,8 +2169,8 @@ pub struct LayoutData<FieldIdx: Idx, VariantIdx: Idx> {
pub max_repr_align: Option<Align>,

/// The alignment the type would have, ignoring any `repr(align)` but including `repr(packed)`.
/// Only used on aarch64-linux, where the argument passing ABI ignores the requested alignment
/// in some cases.
/// Only used on aarch64-linux and arm, where the argument passing ABI ignores the requested
/// alignment in some cases.
pub unadjusted_abi_align: Align,

/// The randomization seed based on this type's own repr and its fields.
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ impl<'diag, 'tcx> MirBorrowckCtxt<'_, 'diag, 'tcx> {
if !clauses.instantiate_identity(tcx).clauses.iter().any(|clause| {
clause.as_trait_clause().is_some_and(|tc| {
tc.self_ty().skip_binder().is_param(param.index)
&& tc.polarity() == ty::PredicatePolarity::Positive
&& tc.polarity() == ty::ClausePolarity::Positive
&& supertrait_def_ids(tcx, tc.def_id())
.flat_map(|trait_did| tcx.associated_items(trait_did).in_definition_order())
.any(|item| item.is_method())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1228,7 +1228,7 @@ impl<'tcx> MirBorrowckCtxt<'_, '_, 'tcx> {
tcx.clauses_of(callee_def_id).instantiate(tcx, generic_args).clauses.iter().any(
|clause| {
clause.as_trait_clause().is_some_and(|trait_pred| {
trait_pred.polarity() == ty::PredicatePolarity::Positive
trait_pred.polarity() == ty::ClausePolarity::Positive
&& tcx.fn_trait_kind_from_def_id(trait_pred.def_id())
== Some(ty::ClosureKind::Fn)
&& trait_pred.self_ty().skip_binder().peel_refs()
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_borrowck/src/type_check/canonical.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,9 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
category: ConstraintCategory<'tcx>,
) {
self.prove_clause(
ty::ClauseKind::Trait(ty::TraitPredicate {
ty::ClauseKind::Trait(ty::TraitClause {
trait_ref,
polarity: ty::PredicatePolarity::Positive,
polarity: ty::ClausePolarity::Positive,
}),
locations,
category,
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_cranelift/rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[toolchain]
channel = "nightly-2026-08-17"
channel = "nightly-2026-08-19"
components = ["rust-src", "rustc-dev", "llvm-tools", "rustfmt"]
profile = "minimal"
4 changes: 3 additions & 1 deletion compiler/rustc_codegen_gcc/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,9 @@ impl<'gcc, 'tcx> MiscCodegenMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
let entry_name = self.sess().target.entry_name.as_ref();
if !self.functions.borrow().contains_key(entry_name) {
let conv = cfg_select! {
feature = "master" => conv_to_fn_attribute(self.sess(), self.sess().target.entry_abi),
feature = "master" => {
conv_to_fn_attribute(self.sess(), self.sess().target.entry_abi)
}
_ => None,
};
Some(self.declare_entry_fn(entry_name, fn_type, conv))
Expand Down
1 change: 0 additions & 1 deletion compiler/rustc_codegen_ssa/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#![feature(try_blocks)]
#![recursion_limit = "256"]
// tidy-alphabetical-end
#![cfg_attr(bootstrap, feature(string_from_utf8_lossy_owned))]

//! This crate contains codegen code that is used by all codegen backends (LLVM and others).
//! The backend-agnostic functions of this crate use functions defined in various traits that
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ impl<O: ForestObligation> ObligationForest<O> {
/// A few post-processing that you might want to do make the forest easier to visualize:
///
/// * `sed 's,std::[a-z]*::,,g'` — Deletes the `std::<package>::` prefix of paths.
/// * `sed 's,"Binder(TraitPredicate(<\(.*\)>)) (\([^)]*\))","\1 (\2)",'` — Transforms
/// `Binder(TraitPredicate(<predicate>))` into just `<predicate>`.
/// * `sed 's,"Binder(TraitClause(<\(.*\)>)) (\([^)]*\))","\1 (\2)",'` — Transforms
/// `Binder(TraitClause(<predicate>))` into just `<predicate>`.
#[allow(dead_code)]
pub fn dump_graphviz<P: AsRef<Path>>(&self, dir: P, description: &str) {
static COUNTER: AtomicUsize = AtomicUsize::new(0);
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_feature/src/accepted.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@ declare_features! (
/// Allows `extern "C-unwind" fn` to enable unwinding across ABI boundaries and treat `extern "C" fn` as nounwind.
(accepted, c_unwind, "1.81.0", Some(74990)),
/// Allows using C-variadics.
(accepted, c_variadic, "CURRENT_RUSTC_VERSION", Some(44930)),
(accepted, c_variadic, "1.99.0", Some(44930)),
/// Allows defining c-variadic naked functions with any extern ABI that is allowed
/// on c-variadic foreign functions.
(accepted, c_variadic_naked_functions, "CURRENT_RUSTC_VERSION", Some(148767)),
(accepted, c_variadic_naked_functions, "1.99.0", Some(148767)),
/// Allows `#[cfg_attr(predicate, multiple, attributes, here)]`.
(accepted, cfg_attr_multi, "1.33.0", Some(54881)),
/// Allows the use of `#[cfg(<true/false>)]`.
Expand Down
14 changes: 7 additions & 7 deletions compiler/rustc_feature/src/unstable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ declare_features! (
/// Allows checking whether or not the backend correctly supports unstable float types.
(internal, cfg_target_has_reliable_f16_f128, "1.88.0", None),
/// Allows checking whether or not the target might have thread support.
(internal, cfg_target_has_threads, "CURRENT_RUSTC_VERSION", None),
(internal, cfg_target_has_threads, "1.99.0", None),
/// Allows identifying the `compiler_builtins` crate.
(internal, compiler_builtins, "1.13.0", None),
/// Allows skipping `ConstParamTy_` trait implementation checks
Expand Down Expand Up @@ -397,7 +397,7 @@ declare_features! (
/// Target features on arm.
(unstable, arm_target_feature, "1.27.0", Some(150246)),
/// Allows using `const` operands with pointer in inline assembly.
(unstable, asm_const_ptr, "CURRENT_RUSTC_VERSION", Some(128464)),
(unstable, asm_const_ptr, "1.99.0", Some(128464)),
/// Enables experimental inline assembly support for additional architectures.
(unstable, asm_experimental_arch, "1.58.0", Some(93335)),
/// Enables experimental register support in inline assembly.
Expand Down Expand Up @@ -452,7 +452,7 @@ declare_features! (
/// Allows to use the `#[cfi_encoding = ""]` attribute.
(unstable, cfi_encoding, "1.71.0", Some(89653)),
/// Allow to have type alias types for inter-crate use.
(incomplete, checked_type_aliases, "CURRENT_RUSTC_VERSION", Some(112792)),
(incomplete, checked_type_aliases, "1.99.0", Some(112792)),
/// The `clflushopt` target feature on x86.
(unstable, clflushopt_target_feature, "1.98.0", Some(157096)),
/// Allows `for<...>` on closures and coroutines.
Expand Down Expand Up @@ -518,7 +518,7 @@ declare_features! (
/// Allows macros to customize macro argument matcher diagnostics.
(unstable, diagnostic_on_unmatched_args, "1.97.0", Some(155642)),
// Used by macros to not show their bodies in error messages. No-op with `-Z macro-backtrace`.
(unstable, diagnostic_opaque, "CURRENT_RUSTC_VERSION", Some(158813)),
(unstable, diagnostic_opaque, "1.99.0", Some(158813)),
/// Allows `#[doc(cfg(...))]`.
(unstable, doc_cfg, "1.21.0", Some(43781)),
/// Allows `#[doc(masked)]`.
Expand Down Expand Up @@ -630,7 +630,7 @@ declare_features! (
/// Provides a way to concatenate identifiers using metavariable expressions.
(unstable, macro_metavar_expr_concat, "1.81.0", Some(124225)),
/// Allows directly represented generic_const_args without the `direct_const_arg!` macro.
(incomplete, macroless_generic_const_args, "CURRENT_RUSTC_VERSION", Some(159006)),
(incomplete, macroless_generic_const_args, "1.99.0", Some(159006)),
/// Allows `#[marker]` on certain traits allowing overlapping implementations.
(unstable, marker_trait_attr, "1.30.0", Some(29864)),
/// Enable mgca `type const` syntax before expansion.
Expand Down Expand Up @@ -660,13 +660,13 @@ declare_features! (
/// Allows `mut ref` and `mut ref mut` identifier patterns.
(incomplete, mut_ref, "1.79.0", Some(123076)),
/// Allows `mut(crate) field: Type` restrictions.
(unstable, mut_restriction, "CURRENT_RUSTC_VERSION", Some(105077)),
(unstable, mut_restriction, "1.99.0", Some(105077)),
/// Allows using `#[naked]` on `extern "Rust"` functions.
(unstable, naked_functions_rustic_abi, "1.88.0", Some(138997)),
/// Allows using `#[target_feature(enable = "...")]` on `#[naked]` on functions.
(unstable, naked_functions_target_feature, "1.86.0", Some(138568)),
/// Allows providing names to parameters of `impl Fn` etc
(incomplete, named_fn_trait_parameters, "CURRENT_RUSTC_VERSION", Some(158499)),
(incomplete, named_fn_trait_parameters, "1.99.0", Some(158499)),
/// Allows specifying the as-needed link modifier
(unstable, native_link_modifiers_as_needed, "1.53.0", Some(81490)),
/// Allow negative trait implementations.
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_hir_analysis/src/check/compare_impl_item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2726,7 +2726,7 @@ fn param_env_with_gat_bounds<'tcx>(
}
_ => clauses.push(
ty::Binder::bind_with_vars(
ty::ProjectionPredicate {
ty::ProjectionClause {
projection_term: ty::AliasTerm::new_from_def_id(
tcx,
trait_ty.def_id,
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_hir_analysis/src/check/wfcheck.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1323,7 +1323,7 @@ fn check_impl<'tcx>(
trait_ref,
);
let trait_pred =
ty::TraitPredicate { trait_ref, polarity: ty::PredicatePolarity::Positive };
ty::TraitClause { trait_ref, polarity: ty::ClausePolarity::Positive };
let mut obligations = traits::wf::trait_obligations(
wfcx.infcx,
wfcx.param_env,
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_hir_analysis/src/coherence/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -924,9 +924,9 @@ fn infringing_fields_error<'tcx>(
.or_default()
.push(error.obligation.cause.span);
}
if let ty::PredicateKind::Clause(ty::ClauseKind::Trait(ty::TraitPredicate {
if let ty::PredicateKind::Clause(ty::ClauseKind::Trait(ty::TraitClause {
trait_ref,
polarity: ty::PredicatePolarity::Positive,
polarity: ty::ClausePolarity::Positive,
..
})) = error_predicate.kind().skip_binder()
{
Expand Down
Loading
Loading