mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 22:54:58 +00:00
Fix highlighting of const patterns
This commit is contained in:
parent
209eb32796
commit
5ebfcb9cb7
5 changed files with 60 additions and 15 deletions
|
@ -65,10 +65,17 @@ pre { color: #DCDCCC; background: #3F3F3F; font-size: 22px; padd
|
|||
<span class="variable mutable">y</span>;
|
||||
}
|
||||
|
||||
<span class="keyword">enum</span> <span class="enum">E</span><<span class="type_param">X</span>> {
|
||||
<span class="enum_variant">V</span>(<span class="type_param">X</span>)
|
||||
<span class="keyword">enum</span> <span class="enum">Option</span><<span class="type_param">T</span>> {
|
||||
<span class="enum_variant">Some</span>(<span class="type_param">T</span>),
|
||||
<span class="enum_variant">None</span>,
|
||||
}
|
||||
<span class="keyword">use</span> <span class="enum">Option</span>::*;
|
||||
|
||||
<span class="keyword">impl</span><<span class="type_param">X</span>> <span class="enum">E</span><<span class="type_param">X</span>> {
|
||||
<span class="keyword">fn</span> <span class="function">new</span><<span class="type_param">T</span>>() -> <span class="enum">E</span><<span class="type_param">T</span>> {}
|
||||
<span class="keyword">impl</span><<span class="type_param">T</span>> <span class="enum">Option</span><<span class="type_param">T</span>> {
|
||||
<span class="keyword">fn</span> <span class="function">and</span><<span class="type_param">U</span>>(<span class="keyword">self</span>, <span class="variable">other</span>: <span class="enum">Option</span><<span class="type_param">U</span>>) -> <span class="enum">Option</span><(<span class="type_param">T</span>, <span class="type_param">U</span>)> {
|
||||
<span class="keyword control">match</span> <span class="variable">other</span> {
|
||||
<span class="enum_variant">None</span> => <span class="macro">todo</span><span class="macro">!</span>(),
|
||||
<span class="variable">Nope</span> => <span class="variable">Nope</span>,
|
||||
}
|
||||
}
|
||||
}</code></pre>
|
|
@ -50,12 +50,19 @@ fn main() {
|
|||
y;
|
||||
}
|
||||
|
||||
enum E<X> {
|
||||
V(X)
|
||||
enum Option<T> {
|
||||
Some(T),
|
||||
None,
|
||||
}
|
||||
use Option::*;
|
||||
|
||||
impl<X> E<X> {
|
||||
fn new<T>() -> E<T> {}
|
||||
impl<T> Option<T> {
|
||||
fn and<U>(self, other: Option<U>) -> Option<(T, U)> {
|
||||
match other {
|
||||
None => todo!(),
|
||||
Nope => Nope,
|
||||
}
|
||||
}
|
||||
}
|
||||
"#
|
||||
.trim(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue