Auto merge of #34295 - jseyfried:cfg_decoration, r=eddyb

Perform `cfg` attribute processing on decorator-generated items

Fixes https://users.rust-lang.org/t/unused-attribute-warning-for-custom-derive-attribute/6180.
r? @nrc
This commit is contained in:
bors
2016-06-18 20:12:09 -07:00
committed by GitHub
3 changed files with 25 additions and 6 deletions

View File

@@ -94,6 +94,16 @@ impl Annotatable {
_ => panic!("expected Item")
}
}
pub fn fold_with<F: Folder>(self, folder: &mut F) -> SmallVector<Self> {
match self {
Annotatable::Item(item) => folder.fold_item(item).map(Annotatable::Item),
Annotatable::ImplItem(item) =>
folder.fold_impl_item(item.unwrap()).map(|item| Annotatable::ImplItem(P(item))),
Annotatable::TraitItem(item) =>
folder.fold_trait_item(item.unwrap()).map(|item| Annotatable::TraitItem(P(item))),
}
}
}
// A more flexible ItemDecorator.