forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rust-lang#18117 - ChayimFriedman2:issue-18089, r=Veykril
fix: Always cache macro expansions' root node in Semantics Previously some expansions were not cached, but were cached in the expansion cache, which caused panics when later queries tried to lookup the node from the expansion cache. Fixes rust-lang#18089.
- Loading branch information
Showing
7 changed files
with
166 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
//! Builtin macros and attributes | ||
#[macro_use] | ||
mod quote; | ||
pub mod quote; | ||
|
||
mod attr_macro; | ||
mod derive_macro; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
...ols/rust-analyzer/crates/ide/src/syntax_highlighting/test_data/highlight_issue_18089.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
|
||
<style> | ||
body { margin: 0; } | ||
pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padding: 0.4em; } | ||
|
||
.lifetime { color: #DFAF8F; font-style: italic; } | ||
.label { color: #DFAF8F; font-style: italic; } | ||
.comment { color: #7F9F7F; } | ||
.documentation { color: #629755; } | ||
.intra_doc_link { font-style: italic; } | ||
.injected { opacity: 0.65 ; } | ||
.struct, .enum { color: #7CB8BB; } | ||
.enum_variant { color: #BDE0F3; } | ||
.string_literal { color: #CC9393; } | ||
.field { color: #94BFF3; } | ||
.function { color: #93E0E3; } | ||
.function.unsafe { color: #BC8383; } | ||
.trait.unsafe { color: #BC8383; } | ||
.operator.unsafe { color: #BC8383; } | ||
.mutable.unsafe { color: #BC8383; text-decoration: underline; } | ||
.keyword.unsafe { color: #BC8383; font-weight: bold; } | ||
.macro.unsafe { color: #BC8383; } | ||
.parameter { color: #94BFF3; } | ||
.text { color: #DCDCCC; } | ||
.type { color: #7CB8BB; } | ||
.builtin_type { color: #8CD0D3; } | ||
.type_param { color: #DFAF8F; } | ||
.attribute { color: #94BFF3; } | ||
.numeric_literal { color: #BFEBBF; } | ||
.bool_literal { color: #BFE6EB; } | ||
.macro { color: #94BFF3; } | ||
.proc_macro { color: #94BFF3; text-decoration: underline; } | ||
.derive { color: #94BFF3; font-style: italic; } | ||
.module { color: #AFD8AF; } | ||
.value_param { color: #DCDCCC; } | ||
.variable { color: #DCDCCC; } | ||
.format_specifier { color: #CC696B; } | ||
.mutable { text-decoration: underline; } | ||
.escape_sequence { color: #94BFF3; } | ||
.keyword { color: #F0DFAF; font-weight: bold; } | ||
.control { font-style: italic; } | ||
.reference { font-style: italic; font-weight: bold; } | ||
.const { font-weight: bolder; } | ||
|
||
.invalid_escape_sequence { color: #FC5555; text-decoration: wavy underline; } | ||
.unresolved_reference { color: #FC5555; text-decoration: wavy underline; } | ||
</style> | ||
<pre><code><span class="keyword">fn</span> <span class="function declaration">main</span><span class="parenthesis">(</span><span class="parenthesis">)</span> <span class="brace">{</span> | ||
<span class="macro">template</span><span class="macro_bang">!</span><span class="parenthesis macro">(</span><span class="none macro">template</span><span class="parenthesis macro">)</span><span class="semicolon">;</span> | ||
<span class="brace">}</span> | ||
|
||
<span class="attribute_bracket attribute">#</span><span class="attribute_bracket attribute">[</span><span class="module attribute crate_root library">proc_macros</span><span class="operator attribute">::</span><span class="attribute attribute library">issue_18089</span><span class="attribute_bracket attribute">]</span> | ||
<span class="keyword">fn</span> <span class="function declaration">template</span><span class="parenthesis">(</span><span class="parenthesis">)</span> <span class="brace">{</span><span class="brace">}</span></code></pre> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.