Skip to content

Commit b19a3dd

Browse files
authored
Unrolled build for #147133
Rollup merge of #147133 - GuillaumeGomez:rm-loop-extract_cfg_from_attrs, r=lolbinarycat Remove one loop in `extract_cfg_from_attrs` Follow-up of #138907. r? lolbinarycat
2 parents dc2c356 + 2e63708 commit b19a3dd

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

src/librustdoc/clean/types.rs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,8 +1084,8 @@ pub(crate) fn extract_cfg_from_attrs<'a, I: Iterator<Item = &'a hir::Attribute>
10841084

10851085
let mut changed_auto_active_status = None;
10861086

1087-
// First we get all `doc(auto_cfg)` attributes.
1088-
for attr in attrs.clone() {
1087+
// We get all `doc(auto_cfg)`, `cfg` and `target_feature` attributes.
1088+
for attr in attrs {
10891089
if let Some(ident) = attr.ident()
10901090
&& ident.name == sym::doc
10911091
&& let Some(attrs) = attr.meta_item_list()
@@ -1146,15 +1146,9 @@ pub(crate) fn extract_cfg_from_attrs<'a, I: Iterator<Item = &'a hir::Attribute>
11461146
}
11471147
}
11481148
}
1149-
}
1150-
}
1151-
1152-
// If there is no `doc(cfg())`, then we retrieve the `cfg()` attributes (because
1153-
// `doc(cfg())` overrides `cfg()`).
1154-
for attr in attrs {
1155-
if let hir::Attribute::Parsed(AttributeKind::TargetFeature { features, .. }) = attr {
1156-
// treat #[target_feature(enable = "feat")] attributes as if they were
1157-
// #[doc(cfg(target_feature = "feat"))] attributes as well
1149+
} else if let hir::Attribute::Parsed(AttributeKind::TargetFeature { features, .. }) = attr {
1150+
// Treat `#[target_feature(enable = "feat")]` attributes as if they were
1151+
// `#[doc(cfg(target_feature = "feat"))]` attributes as well.
11581152
for (feature, _) in features {
11591153
cfg_info.current_cfg &= Cfg::Cfg(sym::target_feature, Some(*feature));
11601154
}

0 commit comments

Comments
 (0)