Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
7029337
move .auto settings into miri.toml file
RalfJung Aug 26, 2026
4924c57
add `./miri toolchain --name` to configure which toolchain to install…
RalfJung Aug 26, 2026
937d7a2
miri.toml: allow configuring the default toolchain name
RalfJung Aug 26, 2026
c28b273
miri.toml: allow configuring toolchain components
RalfJung Aug 26, 2026
7e43fd2
add trait_is_marker to Interner
bit-aloo Aug 20, 2026
9630065
fix quadratic naming of duplicate sidebar links
xonx4l Sep 18, 2026
8955f77
Add `std_or_core` helper for crate-qualified rustfix paths
lapla-cogito Sep 14, 2026
4238ee3
Use `std_or_core` in `undropped_manually_drops` rustfix
lapla-cogito Sep 14, 2026
1875276
simplify get_next_url to a single counter map
xonx4l Sep 21, 2026
447bb32
RA settings: disable diagnostics as RA shows many false positives
RalfJung Sep 21, 2026
e4ad05b
Mark std::os::wasip2 with correct doc-cfgs, mark as unstable
clarfonthey Sep 21, 2026
1f28dfc
Merge pull request #5338 from RalfJung/vscode-settings
RalfJung Sep 21, 2026
819623a
don't merge distinct impl candidates
bit-aloo Sep 3, 2026
f002f33
drop specialized impls with equal inference constraints
bit-aloo Sep 3, 2026
5a61e9c
Prepare for merging from rust-lang/rust
Sep 22, 2026
d8b6ee3
Merge ref '88638df1e741' from rust-lang/rust
Sep 22, 2026
fd49fb3
Merge pull request #5340 from rust-lang/rustup-2026-09-22
RalfJung Sep 22, 2026
d86cf85
update fallout tests
bit-aloo Aug 20, 2026
0adc046
add tests
bit-aloo Sep 18, 2026
781bc2b
replace has_distinct_impl_candidates with try_merge_impl_candidates a…
bit-aloo Sep 19, 2026
b49ec62
add merge_candidates_or_bail_with_ambiguity and merge_impl_candidates…
bit-aloo Sep 22, 2026
0c27f4b
Remove flounder from merge_trait_candidates
bit-aloo Sep 22, 2026
c85e050
Merge pull request #5289 from RalfJung/miri.toml
oli-obk Sep 22, 2026
51fa7ee
also apply late discriminant comparison optimization to `derive(Ord)`
cyrgani Sep 19, 2026
3e06823
add test for #[path] in doctest
RalfJung Sep 22, 2026
e53b292
forward rustdoc env vars to doctests
RalfJung Sep 22, 2026
b2e7048
Merge pull request #5342 from RalfJung/doctest-path
RalfJung Sep 22, 2026
4858117
Use `std_or_core` in `integer_to_ptr_transmutes` rustfix
lapla-cogito Sep 14, 2026
711d861
Use `std_or_core` in `ambiguous_wide_pointer_comparisons` rustfix
lapla-cogito Sep 14, 2026
ed84ade
Use `std_or_core` in `unpredictable_function_pointer_comparisons` rus…
lapla-cogito Sep 14, 2026
e31fb47
Skip `panic_any` rustfix in `non_fmt_panics` when it is unavailable
lapla-cogito Sep 14, 2026
b7dc072
revert r14 register names for arm
malezjaa Sep 23, 2026
ffb56b9
merge `Ord` and `PartialOrd` code
cyrgani Sep 20, 2026
2b022a3
Export `std_or_core`
lapla-cogito Sep 23, 2026
2705561
Adjust for Arm64EC name mangling when checking for exported symbols
dpaoliello Sep 23, 2026
e9824e4
properly decrement available_depth on cycles and provisional cache hits
sjwang05 Sep 22, 2026
e5b8447
Add regression test for trait predicate with escaping bounds
lsunsi Sep 23, 2026
976fcac
inline `discriminant_value` calls
cyrgani Sep 21, 2026
921a20a
small stuff
cyrgani Sep 21, 2026
42bc8af
move helper methods away from `TraitDef`
cyrgani Sep 21, 2026
b5c30be
inline `expand_struct/enum_def`
cyrgani Sep 21, 2026
d736fe1
remove unused, untested `associated_types`
cyrgani Sep 21, 2026
327639d
use `Self` instead of `type_ident` once more
cyrgani Sep 21, 2026
ec57172
add `cx.expr_ident_sym`
cyrgani Sep 22, 2026
839f431
remove the `FieldInfo` from `EnumDiscr`
cyrgani Sep 22, 2026
bf645be
simplify the `rfold` call
cyrgani Sep 22, 2026
2196ae3
remove the local version of `Ty`
cyrgani Sep 22, 2026
ff571c3
Simplify `core::cmp::{smallest, largest}` Implementation
bushrat011899 Aug 14, 2026
d0706de
Add `mir-opt` test documenting optimized MIR generated
bushrat011899 Aug 14, 2026
1e185bd
Remove `StashKey::AssociatedTypeSuggestion`
nnethercote Sep 18, 2026
983c56d
`rustc_dump_symbol_name`: add demangling information as a note instead
mejrs Sep 23, 2026
733daee
Use fewer FFI calls to check the target CPU's features
Zalathar Sep 22, 2026
b255ecd
Rollup merge of #162976 - xonx4l:rustdoc-sidebar-quadratic, r=lolbina…
JonathanBrouwer Sep 24, 2026
2136250
Rollup merge of #161275 - bushrat011899:variadic_min_refactor, r=scot…
JonathanBrouwer Sep 24, 2026
5c845c6
Rollup merge of #163143 - Zalathar:check-features, r=davidtwco
JonathanBrouwer Sep 24, 2026
c2b7228
Rollup merge of #163188 - dpaoliello:arm64ecsymboledit, r=lqd,bjorn3
JonathanBrouwer Sep 24, 2026
3e13f47
Rollup merge of #163211 - cyrgani:builtin-macros-6, r=nnethercote
JonathanBrouwer Sep 24, 2026
795a915
Rollup merge of #161386 - bit-aloo:2026-08-17-merge-impls, r=lcnr
JonathanBrouwer Sep 24, 2026
ebdddb5
Rollup merge of #162942 - nnethercote:rm-StashKey-AssociatedTypeSugge…
JonathanBrouwer Sep 24, 2026
8915d07
Rollup merge of #163096 - lapla-cogito:std_or_core, r=oli-obk
JonathanBrouwer Sep 24, 2026
e2026da
Rollup merge of #163110 - clarfonthey:wasip2-module, r=alexcrichton
JonathanBrouwer Sep 24, 2026
90e3ba3
Rollup merge of #163185 - sjwang05:depth-budget-fix, r=lcnr
JonathanBrouwer Sep 24, 2026
c092ef0
Rollup merge of #163214 - malezjaa:revert-r14-register-name, r=folker…
JonathanBrouwer Sep 24, 2026
6d098b2
Rollup merge of #163226 - RalfJung:miri, r=RalfJung
JonathanBrouwer Sep 24, 2026
323712a
Rollup merge of #163228 - lsunsi:issue163206, r=ShoyuVanilla
JonathanBrouwer Sep 24, 2026
6c262ac
Rollup merge of #163234 - mejrs:rustc_dump_symbol_name, r=fmease
JonathanBrouwer Sep 24, 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
6 changes: 2 additions & 4 deletions compiler/rustc_builtin_macros/src/deriving/clone.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use rustc_expand::base::ExtCtxt;
use rustc_span::{DUMMY_SP, Ident, Span, kw, sym};
use thin_vec::{ThinVec, thin_vec};

use crate::deriving::generic::ty::*;
use crate::deriving::generic::*;
use crate::deriving::path_std;

Expand Down Expand Up @@ -68,7 +67,6 @@ pub(crate) fn expand_deriving_clone(
additional_bounds: bounds.clone(),
supports_unions: true,
methods: SmallVec::new(),
associated_types: SmallVec::new(),
is_const,
safety: Safety::Unsafe(DUMMY_SP),
// `TrivialClone` is not part of an API guarantee, so it shouldn't
Expand All @@ -91,12 +89,12 @@ pub(crate) fn expand_deriving_clone(
generics: cx.empty_generics(span),
explicit_self: true,
nonself_args: SmallVec::new(),
ret_ty: Self_,
has_other_selflike_arg: false,
ret_ty: cx.ty_self(span),
attributes: thin_vec![cx.attr_word(sym::inline, span)],
fieldless_variants_strategy: FieldlessVariantsStrategy::Default,
combine_substructure: substructure,
}],
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ pub(crate) fn expand_deriving_const_param_ty(
additional_bounds: smallvec![path_std!(cx, span, cmp::Eq)],
supports_unions: false,
methods: SmallVec::new(),
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand Down
1 change: 0 additions & 1 deletion compiler/rustc_builtin_macros/src/deriving/copy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ pub(crate) fn expand_deriving_copy(
additional_bounds: SmallVec::new(),
supports_unions: true,
methods: SmallVec::new(),
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand Down
18 changes: 11 additions & 7 deletions compiler/rustc_builtin_macros/src/deriving/debug.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use rustc_session::config::FmtDebug;
use rustc_span::{Ident, Span, Symbol, sym};
use thin_vec::{ThinVec, thin_vec};

use crate::deriving::generic::ty::*;
use crate::deriving::generic::*;
use crate::deriving::path_std;

Expand All @@ -16,7 +15,12 @@ pub(crate) fn expand_deriving_debug(
is_const: bool,
) {
// &mut ::std::fmt::Formatter
let fmtr = Ref(Box::new(Path(path_std!(cx, span, fmt::Formatter))), ast::Mutability::Mut);
let fmtr = cx.ty_ref(
span,
cx.ty_path(path_std!(cx, span, fmt::Formatter)),
None,
ast::Mutability::Mut,
);

let trait_def = TraitDef {
span,
Expand All @@ -30,7 +34,8 @@ pub(crate) fn expand_deriving_debug(
generics: cx.empty_generics(span),
explicit_self: true,
nonself_args: smallvec![(fmtr, sym::character('f'))],
ret_ty: Path(path_std!(cx, span, fmt::Result)),
has_other_selflike_arg: false,
ret_ty: cx.ty_path(path_std!(cx, span, fmt::Result)),
attributes: thin_vec![cx.attr_word(sym::inline, span)],
fieldless_variants_strategy:
FieldlessVariantsStrategy::SpecializeIfAllVariantsFieldless,
Expand All @@ -41,7 +46,6 @@ pub(crate) fn expand_deriving_debug(
item.kind.ident().unwrap()
)),
}],
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand All @@ -50,7 +54,7 @@ pub(crate) fn expand_deriving_debug(
}

fn formatter_ident(cx: &ExtCtxt<'_>, span: Span) -> Box<ast::Expr> {
cx.expr_ident(span, Ident::new(sym::character('f'), span))
cx.expr_ident_sym(span, sym::character('f'))
}

fn show_substructure(
Expand Down Expand Up @@ -195,9 +199,9 @@ fn show_substructure(
args.push(fmt);
args.push(name);
if is_struct {
args.push(cx.expr_ident(span, Ident::new(sym::names, span)));
args.push(cx.expr_ident_sym(span, sym::names));
}
args.push(cx.expr_ident(span, Ident::new(sym::values, span)));
args.push(cx.expr_ident_sym(span, sym::values));
let expr = cx.expr_call_global(span, fn_path_debug_internal, args);

let mut stmts = ThinVec::with_capacity(2);
Expand Down
8 changes: 4 additions & 4 deletions compiler/rustc_builtin_macros/src/deriving/default.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ use rustc_span::{ErrorGuaranteed, Ident, Span, kw, sym};
use smallvec::SmallVec;
use thin_vec::{ThinVec, thin_vec};

use crate::deriving::generic::ty::*;
use crate::deriving::generic::*;
use crate::deriving::new_path;
use crate::diagnostics;

pub(crate) fn expand_deriving_default(
Expand All @@ -22,7 +22,7 @@ pub(crate) fn expand_deriving_default(

let trait_def = TraitDef {
span,
path: new_path(cx, span, &[kw::Default, sym::Default], &[]),
path: new_path(cx, span, &[kw::Default, sym::Default], vec![]),
skip_path_as_bound: has_a_default_variant(item),
needs_copy_as_bound_if_packed: false,
additional_bounds: SmallVec::new(),
Expand All @@ -32,7 +32,8 @@ pub(crate) fn expand_deriving_default(
generics: cx.empty_generics(span),
explicit_self: false,
nonself_args: SmallVec::new(),
ret_ty: Self_,
has_other_selflike_arg: false,
ret_ty: cx.ty_self(span),
attributes: thin_vec![cx.attr_word(sym::inline, span)],
fieldless_variants_strategy: FieldlessVariantsStrategy::Default,
combine_substructure: combine_substructure(|cx, trait_span, substr| {
Expand All @@ -49,7 +50,6 @@ pub(crate) fn expand_deriving_default(
}
}),
}],
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand Down
5 changes: 2 additions & 3 deletions compiler/rustc_builtin_macros/src/deriving/eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use rustc_expand::base::ExtCtxt;
use rustc_span::{Span, sym};
use thin_vec::{ThinVec, thin_vec};

use crate::deriving::generic::ty::*;
use crate::deriving::generic::*;
use crate::deriving::path_std;

Expand All @@ -29,7 +28,8 @@ pub(crate) fn expand_deriving_eq(
generics: cx.empty_generics(span),
explicit_self: true,
nonself_args: smallvec![],
ret_ty: Unit,
has_other_selflike_arg: false,
ret_ty: cx.ty_unit(span),
attributes: thin_vec![
// This method will never be called, so doing codegen etc. for it is unnecessary.
// We prevent this by adding `#[inline]`, which improves compile-time.
Expand All @@ -40,7 +40,6 @@ pub(crate) fn expand_deriving_eq(
fieldless_variants_strategy: FieldlessVariantsStrategy::Unify,
combine_substructure: combine_substructure(cs_total_eq_assert),
}],
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand Down
17 changes: 8 additions & 9 deletions compiler/rustc_builtin_macros/src/deriving/from.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ use rustc_expand::base::{DummyResult, ExtCtxt};
use rustc_span::{Ident, Span, kw, sym};
use thin_vec::thin_vec;

use crate::deriving::generic::ty::*;
use crate::deriving::generic::*;
use crate::deriving::pathvec;
use crate::deriving::{new_path, pathvec};
use crate::diagnostics;

/// Generate an implementation of the `From` trait, provided that `item`
Expand Down Expand Up @@ -47,12 +46,12 @@ pub(crate) fn expand_deriving_from(
_ => cx.dcx().bug("Invalid derive(From) ADT input"),
};

let from_type = Ty::AstTy(match field {
let from_type = match field {
Ok(ref field) => field.ty.clone(),
Err(guar) => cx.ty(span, ast::TyKind::Err(guar)),
});
};

let path = new_path(cx, span, pathvec!(convert::From), &[from_type.clone()]);
let path = new_path(cx, span, pathvec!(convert::From), vec![from_type.clone()]);

// Generate code like this:
//
Expand All @@ -76,7 +75,8 @@ pub(crate) fn expand_deriving_from(
generics: cx.empty_generics(span),
explicit_self: false,
nonself_args: smallvec![(from_type, sym::value)],
ret_ty: Ty::Self_,
has_other_selflike_arg: false,
ret_ty: cx.ty_self(span),
attributes: thin_vec![cx.attr_word(sym::inline, span)],
fieldless_variants_strategy: FieldlessVariantsStrategy::Default,
combine_substructure: combine_substructure(|cx, span, substructure| {
Expand All @@ -97,14 +97,14 @@ pub(crate) fn expand_deriving_from(
thin_vec![cx.field_imm(
span,
field.ident.unwrap(),
cx.expr_ident(span, Ident::new(sym::value, span))
cx.expr_ident_sym(span, sym::value)
)],
),
// Self(value)
VariantData::Tuple(_, _) => cx.expr_call_ident(
span,
self_kw,
thin_vec![cx.expr_ident(span, Ident::new(sym::value, span))],
thin_vec![cx.expr_ident_sym(span, sym::value)],
),
variant => {
cx.dcx().bug(format!("Invalid derive(From) ADT variant: {variant:?}"));
Expand All @@ -115,7 +115,6 @@ pub(crate) fn expand_deriving_from(
BlockOrExpr::new_expr(expr)
}),
}],
associated_types: SmallVec::new(),
is_const,
safety: Safety::Default,
document: true,
Expand Down
Loading
Loading