Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 26f476a

Browse files
committedFeb 25, 2025
Auto merge of rust-lang#137610 - Kobzol:revert-135726, r=<try>
Revert "Auto merge of rust-lang#135726 - jdonszelmann:attr-parsing, r=oli-obk" Trying to revert rust-lang#135726 and do some perf. runs on it. r? `@ghost`
2 parents ad27045 + 8cbc938 commit 26f476a

File tree

167 files changed

+2260
-3931
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+2260
-3931
lines changed
 

‎compiler/rustc_ast_lowering/src/expr.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,9 @@ impl<'hir> LoweringContext<'_, 'hir> {
7777
self.attrs.insert(
7878
ex.hir_id.local_id,
7979
&*self.arena.alloc_from_iter(
80-
self.lower_attrs_vec(&e.attrs, e.span)
81-
.into_iter()
80+
e.attrs
81+
.iter()
82+
.map(|a| self.lower_attr(a))
8283
.chain(old_attrs.iter().cloned()),
8384
),
8485
);
@@ -97,7 +98,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
9798
}
9899

99100
let expr_hir_id = self.lower_node_id(e.id);
100-
self.lower_attrs(expr_hir_id, &e.attrs, e.span);
101+
self.lower_attrs(expr_hir_id, &e.attrs);
101102

102103
let kind = match &e.kind {
103104
ExprKind::Array(exprs) => hir::ExprKind::Array(self.lower_exprs(exprs)),
@@ -669,7 +670,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
669670
let guard = arm.guard.as_ref().map(|cond| self.lower_expr(cond));
670671
let hir_id = self.next_id();
671672
let span = self.lower_span(arm.span);
672-
self.lower_attrs(hir_id, &arm.attrs, arm.span);
673+
self.lower_attrs(hir_id, &arm.attrs);
673674
let is_never_pattern = pat.is_never_pattern();
674675
let body = if let Some(body) = &arm.body
675676
&& !is_never_pattern
@@ -838,7 +839,6 @@ impl<'hir> LoweringContext<'_, 'hir> {
838839
style: AttrStyle::Outer,
839840
span: unstable_span,
840841
}],
841-
span,
842842
);
843843
}
844844
}
@@ -1673,7 +1673,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
16731673

16741674
fn lower_expr_field(&mut self, f: &ExprField) -> hir::ExprField<'hir> {
16751675
let hir_id = self.lower_node_id(f.id);
1676-
self.lower_attrs(hir_id, &f.attrs, f.span);
1676+
self.lower_attrs(hir_id, &f.attrs);
16771677
hir::ExprField {
16781678
hir_id,
16791679
ident: self.lower_ident(f.ident),
@@ -1936,7 +1936,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
19361936
//
19371937
// Also, add the attributes to the outer returned expr node.
19381938
let expr = self.expr_drop_temps_mut(for_span, match_expr);
1939-
self.lower_attrs(expr.hir_id, &e.attrs, e.span);
1939+
self.lower_attrs(expr.hir_id, &e.attrs);
19401940
expr
19411941
}
19421942

@@ -1993,7 +1993,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
19931993
let val_ident = Ident::with_dummy_span(sym::val);
19941994
let (val_pat, val_pat_nid) = self.pat_ident(span, val_ident);
19951995
let val_expr = self.expr_ident(span, val_ident, val_pat_nid);
1996-
self.lower_attrs(val_expr.hir_id, &attrs, span);
1996+
self.lower_attrs(val_expr.hir_id, &attrs);
19971997
let continue_pat = self.pat_cf_continue(unstable_span, val_pat);
19981998
self.arm(continue_pat, val_expr)
19991999
};
@@ -2024,7 +2024,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
20242024
let ret_expr = self.checked_return(Some(from_residual_expr));
20252025
self.arena.alloc(self.expr(try_span, ret_expr))
20262026
};
2027-
self.lower_attrs(ret_expr.hir_id, &attrs, ret_expr.span);
2027+
self.lower_attrs(ret_expr.hir_id, &attrs);
20282028

20292029
let break_pat = self.pat_cf_break(try_span, residual_local);
20302030
self.arm(break_pat, ret_expr)

‎compiler/rustc_ast_lowering/src/item.rs

+9-10
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use rustc_index::{IndexSlice, IndexVec};
1111
use rustc_middle::span_bug;
1212
use rustc_middle::ty::{ResolverAstLowering, TyCtxt};
1313
use rustc_span::edit_distance::find_best_match_for_name;
14-
use rustc_span::{DUMMY_SP, DesugaringKind, Ident, Span, Symbol, kw, sym};
14+
use rustc_span::{DesugaringKind, Ident, Span, Symbol, kw, sym};
1515
use smallvec::{SmallVec, smallvec};
1616
use thin_vec::ThinVec;
1717
use tracing::instrument;
@@ -93,8 +93,7 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
9393
debug_assert_eq!(self.resolver.node_id_to_def_id[&CRATE_NODE_ID], CRATE_DEF_ID);
9494
self.with_lctx(CRATE_NODE_ID, |lctx| {
9595
let module = lctx.lower_mod(&c.items, &c.spans);
96-
// FIXME(jdonszelman): is dummy span ever a problem here?
97-
lctx.lower_attrs(hir::CRATE_HIR_ID, &c.attrs, DUMMY_SP);
96+
lctx.lower_attrs(hir::CRATE_HIR_ID, &c.attrs);
9897
hir::OwnerNode::Crate(module)
9998
})
10099
}
@@ -158,7 +157,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
158157
let mut ident = i.ident;
159158
let vis_span = self.lower_span(i.vis.span);
160159
let hir_id = hir::HirId::make_owner(self.current_hir_id_owner.def_id);
161-
let attrs = self.lower_attrs(hir_id, &i.attrs, i.span);
160+
let attrs = self.lower_attrs(hir_id, &i.attrs);
162161
let kind = self.lower_item_kind(i.span, i.id, hir_id, &mut ident, attrs, vis_span, &i.kind);
163162
let item = hir::Item {
164163
owner_id: hir_id.expect_owner(),
@@ -621,7 +620,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
621620
fn lower_foreign_item(&mut self, i: &ForeignItem) -> &'hir hir::ForeignItem<'hir> {
622621
let hir_id = hir::HirId::make_owner(self.current_hir_id_owner.def_id);
623622
let owner_id = hir_id.expect_owner();
624-
let attrs = self.lower_attrs(hir_id, &i.attrs, i.span);
623+
let attrs = self.lower_attrs(hir_id, &i.attrs);
625624
let item = hir::ForeignItem {
626625
owner_id,
627626
ident: self.lower_ident(i.ident),
@@ -679,7 +678,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
679678

680679
fn lower_variant(&mut self, v: &Variant) -> hir::Variant<'hir> {
681680
let hir_id = self.lower_node_id(v.id);
682-
self.lower_attrs(hir_id, &v.attrs, v.span);
681+
self.lower_attrs(hir_id, &v.attrs);
683682
hir::Variant {
684683
hir_id,
685684
def_id: self.local_def_id(v.id),
@@ -741,7 +740,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
741740
) -> hir::FieldDef<'hir> {
742741
let ty = self.lower_ty(&f.ty, ImplTraitContext::Disallowed(ImplTraitPosition::FieldTy));
743742
let hir_id = self.lower_node_id(f.id);
744-
self.lower_attrs(hir_id, &f.attrs, f.span);
743+
self.lower_attrs(hir_id, &f.attrs);
745744
hir::FieldDef {
746745
span: self.lower_span(f.span),
747746
hir_id,
@@ -760,7 +759,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
760759

761760
fn lower_trait_item(&mut self, i: &AssocItem) -> &'hir hir::TraitItem<'hir> {
762761
let hir_id = hir::HirId::make_owner(self.current_hir_id_owner.def_id);
763-
let attrs = self.lower_attrs(hir_id, &i.attrs, i.span);
762+
let attrs = self.lower_attrs(hir_id, &i.attrs);
764763
let trait_item_def_id = hir_id.expect_owner();
765764

766765
let (generics, kind, has_default) = match &i.kind {
@@ -896,7 +895,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
896895
let has_value = true;
897896
let (defaultness, _) = self.lower_defaultness(i.kind.defaultness(), has_value);
898897
let hir_id = hir::HirId::make_owner(self.current_hir_id_owner.def_id);
899-
let attrs = self.lower_attrs(hir_id, &i.attrs, i.span);
898+
let attrs = self.lower_attrs(hir_id, &i.attrs);
900899

901900
let (generics, kind) = match &i.kind {
902901
AssocItemKind::Const(box ConstItem { generics, ty, expr, .. }) => self.lower_generics(
@@ -1057,7 +1056,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
10571056

10581057
fn lower_param(&mut self, param: &Param) -> hir::Param<'hir> {
10591058
let hir_id = self.lower_node_id(param.id);
1060-
self.lower_attrs(hir_id, &param.attrs, param.span);
1059+
self.lower_attrs(hir_id, &param.attrs);
10611060
hir::Param {
10621061
hir_id,
10631062
pat: self.lower_pat(&param.pat),
There was a problem loading the remainder of the diff.

0 commit comments

Comments
 (0)
Failed to load comments.