Implment #[cfg]
and #[cfg_attr]
in where
clauses
This commit is contained in:
parent
30508faeb3
commit
42f51d4fd4
38 changed files with 3296 additions and 88 deletions
|
@ -1529,6 +1529,14 @@ impl<'a, 'ra, 'tcx> Visitor<'a> for BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
|
|||
visit::walk_variant(self, variant);
|
||||
}
|
||||
|
||||
fn visit_where_predicate(&mut self, p: &'a ast::WherePredicate) {
|
||||
if p.is_placeholder {
|
||||
self.visit_invoc(p.id);
|
||||
} else {
|
||||
visit::walk_where_predicate(self, p);
|
||||
}
|
||||
}
|
||||
|
||||
fn visit_crate(&mut self, krate: &'a ast::Crate) {
|
||||
if krate.is_placeholder {
|
||||
self.visit_invoc_in_module(krate.id);
|
||||
|
|
|
@ -285,6 +285,14 @@ impl<'a, 'ra, 'tcx> visit::Visitor<'a> for DefCollector<'a, 'ra, 'tcx> {
|
|||
});
|
||||
}
|
||||
|
||||
fn visit_where_predicate(&mut self, pred: &'a WherePredicate) {
|
||||
if pred.is_placeholder {
|
||||
self.visit_macro_invoc(pred.id)
|
||||
} else {
|
||||
visit::walk_where_predicate(self, pred)
|
||||
}
|
||||
}
|
||||
|
||||
fn visit_variant_data(&mut self, data: &'a VariantData) {
|
||||
// The assumption here is that non-`cfg` macro expansion cannot change field indices.
|
||||
// It currently holds because only inert attributes are accepted on fields,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue