Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6a8ef66
stabilize `c_variadic_naked_functions`
folkertdev Jul 22, 2026
d8ecbe7
Move `ExprParenthesesNeeded` diagnostic struct out of `rustc_session`
mejrs Aug 8, 2026
4077d5c
don't pub use `NoVariantNamed` in the crate root
mejrs Aug 8, 2026
2586ced
Add regression test for save-temps ICE on incremental recompile
zakrad Aug 8, 2026
d63ff51
Add regression test for guaranteed unsized self type cycle
zakrad Aug 8, 2026
82b020e
arm64ec: `f128` is supported since LLVM 23
folkertdev Aug 8, 2026
5afb1fe
Refactor tidy detection of stability attribute
ChayimFriedman2 Jul 29, 2026
efdcd0d
Changed .expect error message in documentation to follow “expect as p…
TirushOne Aug 9, 2026
b81a0d6
Change .expect message to follow precondition style
Nidhi-Gahlawat Aug 9, 2026
196dd2a
Fix up `lang_items` import paths
mejrs Aug 9, 2026
92114e1
Rollup merge of #160782 - mejrs:attr_imports, r=JonathanBrouwer
JonathanBrouwer Aug 9, 2026
df04ad2
Rollup merge of #159746 - folkertdev:stabilize-c-variadic-naked-funct…
JonathanBrouwer Aug 9, 2026
229984d
Rollup merge of #160141 - ChayimFriedman2:multiline-stable-tidy, r=Ma…
JonathanBrouwer Aug 9, 2026
c10876b
Rollup merge of #160744 - mejrs:struct-diagnostics-privacy, r=Jonatha…
JonathanBrouwer Aug 9, 2026
eab3d62
Rollup merge of #160778 - zakrad:regr-test-116914, r=JonathanBrouwer
JonathanBrouwer Aug 9, 2026
6b00b67
Rollup merge of #160779 - folkertdev:arm64ec-f128, r=tgross35
JonathanBrouwer Aug 9, 2026
374ec00
Rollup merge of #160781 - zakrad:regr-test-66367, r=mejrs
JonathanBrouwer Aug 9, 2026
140e8bf
Rollup merge of #160792 - TirushOne:issue-159751-fix-tcp-, r=Mark-Sim…
JonathanBrouwer Aug 9, 2026
51e3439
Rollup merge of #160796 - Nidhi-Gahlawat:issue-159751-fix-mod.rs, r=n…
JonathanBrouwer Aug 9, 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
4 changes: 2 additions & 2 deletions compiler/rustc_abi/src/extern_abi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -290,8 +290,8 @@ impl ExternAbi {
}

/// Returns whether the ABI supports C variadics. This only controls whether we allow *imports*
/// of such functions via `extern` blocks; there's a separate check during AST construction
/// guarding *definitions* of variadic functions.
/// of such functions via `extern` blocks and definition via naked functions; there's a
/// separate check during AST construction guarding *definitions* of variadic functions.
#[cfg(feature = "nightly")]
pub fn supports_c_variadic(self) -> CVariadicStatus {
// * C and Cdecl obviously support varargs.
Expand Down
11 changes: 6 additions & 5 deletions compiler/rustc_ast_lowering/src/contract.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use std::sync::Arc;

use rustc_hir::attrs::lang_items::LangItem;
use thin_vec::thin_vec;

use crate::LoweringContext;
Expand Down Expand Up @@ -146,7 +147,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
);
let precond = self.expr_call_lang_item_fn_mut(
req_span,
rustc_hir::LangItem::ContractCheckRequires,
LangItem::ContractCheckRequires,
&*arena_vec![self; lowered_req],
);
self.stmt_expr(req.span, precond)
Expand All @@ -165,7 +166,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
let lowered_ens = self.lower_expr_mut(&ens);
self.expr_call_lang_item_fn(
ens_span,
rustc_hir::LangItem::ContractBuildCheckEnsures,
LangItem::ContractBuildCheckEnsures,
&*arena_vec![self; lowered_ens],
)
}
Expand Down Expand Up @@ -208,15 +209,15 @@ impl<'hir> LoweringContext<'_, 'hir> {

let postcond_checker = self.arena.alloc(self.expr_enum_variant_lang_item(
postcond_checker.span,
rustc_hir::lang_items::LangItem::OptionSome,
rustc_hir::attrs::lang_items::LangItem::OptionSome,
&*arena_vec![self; *postcond_checker],
));
let then_block_stmts = self.block_all(span, stmts, Some(postcond_checker));
let then_block = self.arena.alloc(self.expr_block(&then_block_stmts));

let none_expr = self.arena.alloc(self.expr_enum_variant_lang_item(
postcond_checker.span,
rustc_hir::lang_items::LangItem::OptionNone,
rustc_hir::attrs::lang_items::LangItem::OptionNone,
Default::default(),
));
let else_block = self.block_expr(none_expr);
Expand Down Expand Up @@ -326,7 +327,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
let cond_fn = self.expr_ident(span, cond_ident, cond_hir_id);
let contract_check = self.expr_call_lang_item_fn_mut(
span,
rustc_hir::LangItem::ContractCheckEnsures,
LangItem::ContractCheckEnsures,
arena_vec![self; *cond_fn, *ret],
);
let contract_check = self.arena.alloc(contract_check);
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_ast_lowering/src/delegation/attributes.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use rustc_hir as hir;
use rustc_hir::attrs::{AttributeKind, InlineAttr};
use rustc_hir::{self as hir};
use rustc_span::Span;
use rustc_span::def_id::DefId;

Expand Down
7 changes: 4 additions & 3 deletions compiler/rustc_ast_lowering/src/delegation/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ use hir::def::Res;
use rustc_abi::ExternAbi;
use rustc_ast as ast;
use rustc_ast::*;
use rustc_hir::attrs::lang_items::LangItem;
use rustc_hir::def::DefKind;
use rustc_hir::{self as hir, FnDeclFlags};
use rustc_middle::ty::Asyncness;
Expand Down Expand Up @@ -341,8 +342,8 @@ impl<'hir> LoweringContext<'_, 'hir> {
crate::re_lowering::ReloweringChecker::allow_relowering(self, |this| {
this.lower_block_noalloc(HirId::INVALID, block, false)
})
},
_ => self.lower_block_noalloc(HirId::INVALID, block, false)
}
_ => self.lower_block_noalloc(HirId::INVALID, block, false),
};

// Remove node ids for which we overwrote resolution to generated param
Expand Down Expand Up @@ -456,7 +457,7 @@ impl<'hir> LoweringContext<'_, 'hir> {

let expr = self.mk_expr(initializer, span);

let path = self.make_lang_item_qpath(hir::LangItem::FromFn, span, None);
let path = self.make_lang_item_qpath(LangItem::FromFn, span, None);
let path = self.arena.alloc(self.mk_expr(hir::ExprKind::Path(path), span));

let call = hir::ExprKind::Call(path, self.arena.alloc_slice(&[expr]));
Expand Down
Loading
Loading