mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-28 03:07:24 +03:00
0b855bcdc9
Review everything that uses `MacroKind`, and switch anything that could refer to more than one kind to use `MacroKinds`. Add a new `SyntaxExtensionKind::MacroRules` for `macro_rules!` macros, using the concrete `MacroRulesMacroExpander` type, and have it track which kinds it can handle. Eliminate the separate optional `attr_ext`, now that a `SyntaxExtension` can handle multiple macro kinds. This also avoids the need to downcast when calling methods on `MacroRulesMacroExpander`, such as `get_unused_rule`. Integrate macro kind checking into name resolution's `sub_namespace_match`, so that we only find a macro if it's the right type, and eliminate the special-case hack for attributes.
25 lines
803 B
TOML
25 lines
803 B
TOML
[package]
|
|
name = "rustc_hir"
|
|
version = "0.0.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
# tidy-alphabetical-start
|
|
bitflags = "2.9.1"
|
|
odht = { version = "0.3.1", features = ["nightly"] }
|
|
rustc_abi = { path = "../rustc_abi" }
|
|
rustc_arena = { path = "../rustc_arena" }
|
|
rustc_ast = { path = "../rustc_ast" }
|
|
rustc_ast_pretty = { path = "../rustc_ast_pretty" }
|
|
rustc_data_structures = { path = "../rustc_data_structures" }
|
|
rustc_hashes = { path = "../rustc_hashes" }
|
|
rustc_index = { path = "../rustc_index" }
|
|
rustc_macros = { path = "../rustc_macros" }
|
|
rustc_serialize = { path = "../rustc_serialize" }
|
|
rustc_span = { path = "../rustc_span" }
|
|
rustc_target = { path = "../rustc_target" }
|
|
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
|
|
thin-vec = "0.2.12"
|
|
tracing = "0.1"
|
|
# tidy-alphabetical-end
|