Fix highlighting of const patterns

This commit is contained in:
Aleksey Kladov 2020-02-28 16:36:14 +01:00
parent 209eb32796
commit 5ebfcb9cb7
5 changed files with 60 additions and 15 deletions

View file

@ -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>&lt;<span class="type_param">X</span>&gt; {
<span class="enum_variant">V</span>(<span class="type_param">X</span>)
<span class="keyword">enum</span> <span class="enum">Option</span>&lt;<span class="type_param">T</span>&gt; {
<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>&lt;<span class="type_param">X</span>&gt; <span class="enum">E</span>&lt;<span class="type_param">X</span>&gt; {
<span class="keyword">fn</span> <span class="function">new</span>&lt;<span class="type_param">T</span>&gt;() -&gt; <span class="enum">E</span>&lt;<span class="type_param">T</span>&gt; {}
<span class="keyword">impl</span>&lt;<span class="type_param">T</span>&gt; <span class="enum">Option</span>&lt;<span class="type_param">T</span>&gt; {
<span class="keyword">fn</span> <span class="function">and</span>&lt;<span class="type_param">U</span>&gt;(<span class="keyword">self</span>, <span class="variable">other</span>: <span class="enum">Option</span>&lt;<span class="type_param">U</span>&gt;) -&gt; <span class="enum">Option</span>&lt;(<span class="type_param">T</span>, <span class="type_param">U</span>)&gt; {
<span class="keyword control">match</span> <span class="variable">other</span> {
<span class="enum_variant">None</span> =&gt; <span class="macro">todo</span><span class="macro">!</span>(),
<span class="variable">Nope</span> =&gt; <span class="variable">Nope</span>,
}
}
}</code></pre>

View file

@ -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(),