diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-06-03 17:17:25 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-06-03 17:17:25 +0100 |
commit | 14153671caaca852c94bd1d0d7f279acb8eb1913 (patch) | |
tree | eb377999a5e8677c210791440b18593f909198e6 /crates/ide_db | |
parent | 7f9c4a59d9a84cd8c734286937439b5cd215be27 (diff) | |
parent | 17565f4deafab800d8d87208cff1e27d028e9b0e (diff) |
Merge #9128
9128: feat: expand procedural attribute macros r=jonas-schievink a=jonas-schievink
This adds experimental support for attribute macros. They can be enabled by setting `rust-analyzer.experimental.procAttrMacros` to `true`.
Known issues:
* Tokens aren't remapped, presumably because we edit the input syntax tree (this causes IDE features to not work inside items with attribute macros on them)
* Macro errors aren't reported correctly
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8971
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8964 / https://github.com/la10736/rstest/issues/120
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2984
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/5412
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6029
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6687
https://github.com/rust-analyzer/rust-analyzer/issues/6740 is still not fixed – we now expand `#[proc_macro_hack]`, but fail to expand the resulting `proc_macro_call!()` macro.
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'crates/ide_db')
-rw-r--r-- | crates/ide_db/src/lib.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crates/ide_db/src/lib.rs b/crates/ide_db/src/lib.rs index 1f900aef4..105607dca 100644 --- a/crates/ide_db/src/lib.rs +++ b/crates/ide_db/src/lib.rs | |||
@@ -93,6 +93,7 @@ impl RootDatabase { | |||
93 | db.set_crate_graph_with_durability(Default::default(), Durability::HIGH); | 93 | db.set_crate_graph_with_durability(Default::default(), Durability::HIGH); |
94 | db.set_local_roots_with_durability(Default::default(), Durability::HIGH); | 94 | db.set_local_roots_with_durability(Default::default(), Durability::HIGH); |
95 | db.set_library_roots_with_durability(Default::default(), Durability::HIGH); | 95 | db.set_library_roots_with_durability(Default::default(), Durability::HIGH); |
96 | db.set_enable_proc_attr_macros(Default::default()); | ||
96 | db.update_lru_capacity(lru_capacity); | 97 | db.update_lru_capacity(lru_capacity); |
97 | db | 98 | db |
98 | } | 99 | } |