1
Fork 0

Associate multiple with a crate too.

This commit is contained in:
Felix S. Klock II 2022-03-03 18:45:25 -05:00
parent e9035f7bef
commit b82795244e
17 changed files with 28 additions and 27 deletions

View file

@ -510,7 +510,7 @@ pub struct WhereEqPredicate {
pub struct Crate {
pub attrs: Vec<Attribute>,
pub items: Vec<P<Item>>,
pub span: Span,
pub spans: ModSpans,
/// Must be equal to `CRATE_NODE_ID` after the crate root is expanded, but may hold
/// expansion placeholders or an unassigned value (`DUMMY_NODE_ID`) before that.
pub id: NodeId,

View file

@ -1108,11 +1108,12 @@ pub fn noop_visit_fn_header<T: MutVisitor>(header: &mut FnHeader, vis: &mut T) {
}
pub fn noop_visit_crate<T: MutVisitor>(krate: &mut Crate, vis: &mut T) {
let Crate { attrs, items, span, id, is_placeholder: _ } = krate;
let Crate { attrs, items, spans, id, is_placeholder: _ } = krate;
vis.visit_id(id);
visit_attrs(attrs, vis);
items.flat_map_in_place(|item| vis.flat_map_item(item));
vis.visit_span(span);
let ModSpans { inner_span } = spans;
vis.visit_span(inner_span);
}
// Mutates one item into possibly many items.
@ -1536,7 +1537,7 @@ impl DummyAstNode for Crate {
Crate {
attrs: Default::default(),
items: Default::default(),
span: Default::default(),
spans: Default::default(),
id: DUMMY_NODE_ID,
is_placeholder: Default::default(),
}