Skip to content

Commit 79c34a1

Browse files
committed
Fix incorrect attributes logic, remove feature
1 parent 31f79ff commit 79c34a1

2 files changed

Lines changed: 16 additions & 15 deletions

File tree

compiler/rustc_ast_lowering/src/delegation/attributes.rs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,26 @@ impl<'hir> LoweringContext<'_, 'hir> {
6161
&self,
6262
span: Span,
6363
sig_id: DefId,
64-
existing_attrs: Option<&&[hir::Attribute]>,
64+
existing: Option<&&[hir::Attribute]>,
6565
) -> Vec<hir::Attribute> {
6666
ADDITIONS
6767
.iter()
6868
.filter_map(|addition_info| {
69-
existing_attrs
70-
.filter(|attrs| attrs.iter().any(|a| (addition_info.equals)(a)))
71-
.and_then(|_| match addition_info.kind {
72-
AdditionKind::Default { factory } => Some(factory(span)),
73-
AdditionKind::Inherit { factory, .. } =>
74-
{
75-
#[allow(deprecated)]
76-
self.tcx
77-
.get_all_attrs(sig_id)
78-
.iter()
79-
.find_map(|a| (addition_info.equals)(a).then(|| factory(span, a)))
80-
}
81-
})
69+
if existing.is_some_and(|attrs| attrs.iter().any(|a| (addition_info.equals)(a))) {
70+
return None;
71+
}
72+
73+
match addition_info.kind {
74+
AdditionKind::Default { factory } => Some(factory(span)),
75+
AdditionKind::Inherit { factory, .. } =>
76+
{
77+
#[allow(deprecated)]
78+
self.tcx
79+
.get_all_attrs(sig_id)
80+
.iter()
81+
.find_map(|a| (addition_info.equals)(a).then(|| factory(span, a)))
82+
}
83+
}
8284
})
8385
.collect::<Vec<_>>()
8486
}

compiler/rustc_ast_lowering/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
//! in the HIR, especially for multiple identifiers.
3232
3333
// tidy-alphabetical-start
34-
#![feature(bool_to_result)]
3534
#![feature(const_default)]
3635
#![feature(const_trait_impl)]
3736
#![feature(default_field_values)]

0 commit comments

Comments
 (0)