3cc3486733
Remove `ast::Guard` With the introduction of `ast::ExprKind::Let` in https://github.com/rust-lang/rust/pull/60861, the `ast::Guard` structure is now redundant in terms of representing [`if let` guards](https://github.com/rust-lang/rust/issues/51114) in AST since it can be represented by `ExprKind::Let` syntactically. Therefore, we remove `ast::Guard` here. However, we keep `hir::Guard` because the semantic representation is a different matter and this story is more unclear right now (might involve `goto 'arm` in HIR or something...). r? @petrochenkov |
||
---|---|---|
.. | ||
attr | ||
diagnostics | ||
ext | ||
parse | ||
util | ||
ast.rs | ||
build.rs | ||
Cargo.toml | ||
config.rs | ||
early_buffered_lints.rs | ||
entry.rs | ||
error_codes.rs | ||
feature_gate.rs | ||
json.rs | ||
lib.rs | ||
mut_visit.rs | ||
ptr.rs | ||
README.md | ||
show_span.rs | ||
source_map.rs | ||
std_inject.rs | ||
test_snippet.rs | ||
test.rs | ||
tokenstream.rs | ||
visit.rs |
The syntax
crate contains those things concerned purely with syntax
– that is, the AST ("abstract syntax tree"), parser, pretty-printer,
lexer, macro expander, and utilities for traversing ASTs.
For more information about how these things work in rustc, see the rustc guide: