-
Notifications
You must be signed in to change notification settings - Fork 13k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
1 parent
b9be0f2
commit 7ac6a72
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.