ast: Keep expansion status for out-of-line module items I.e. whether a module `mod foo;` is already loaded from a file or not. This is a pre-requisite to correctly treating inner attributes on such modules (https://github.com/rust-lang/rust/issues/81661). With this change AST structures for `mod` items diverge even more for AST structure for the crate root, which previously used `ast::Mod`. Therefore this PR removes `ast::Mod` from `ast::Crate` in the first commit, these two things are sufficiently different from each other, at least at syntactic level. Customization points for visiting a "`mod` item or crate root" were also removed from AST visitors (`fn visit_mod`). `ast::Mod` itself was refactored away in the second commit in favor of `ItemKind::Mod(Unsafe, ModKind)`. |
||
|---|---|---|
| .. | ||
| attr.rs | ||
| attr_wrapper.rs | ||
| diagnostics.rs | ||
| expr.rs | ||
| generics.rs | ||
| item.rs | ||
| mod.rs | ||
| nonterminal.rs | ||
| pat.rs | ||
| path.rs | ||
| stmt.rs | ||
| ty.rs | ||