1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>test.rs</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Rust) - Theme (Breeze Light)"/>
</head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
<span style="color:#898887">// Comment </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold">NOTE</span>
<span style="color:#898887">/* Comment </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">FIXME</span><span style="color:#898887"> </span><span style="color:#e85848;background-color:#451e1a;font-weight:bold">ALERT</span>
<span style="color:#898887"> */</span>
<span style="color:#898887">// Identifiers</span>
<span style="color:#006e28">hellóñαωΑΩµo!</span>()<span style="color:#ca60ca">;</span>
<span style="color:#006e28">HellóñαωΑΩµ::</span>Hello<span style="color:#ca60ca">;</span>
<span style="color:#006e28">'hellóñαωΑΩµo</span>
<span style="font-weight:bold">pub</span> <span style="font-weight:bold">use</span> <span style="font-weight:bold">self</span><span style="color:#006e28">::PathParameters::</span><span style="color:#ca60ca">*;</span>
<span style="font-weight:bold">pub</span> <span style="font-weight:bold">use</span> <span style="color:#006e28">symbol::</span><span style="color:#ca60ca">{</span>Ident<span style="color:#ca60ca">,</span> Symbol <span style="font-weight:bold">as</span> Name<span style="color:#ca60ca">};</span>
<span style="font-weight:bold">use</span> <span style="color:#006e28">serialize::</span><span style="color:#ca60ca">{</span><span style="font-weight:bold">self</span><span style="color:#ca60ca">,</span> Encoder<span style="color:#ca60ca">,</span> Decoder<span style="color:#ca60ca">};</span>
<span style="font-weight:bold">use</span> <span style="color:#006e28">std::</span><span style="color:#0057ae">u32</span><span style="color:#ca60ca">;</span>
<span style="color:#0057ae">#[derive(</span><span style="color:#644a9b;font-weight:bold">Clone</span><span style="color:#ca60ca">,</span><span style="color:#0057ae"> </span><span style="color:#644a9b;font-weight:bold">PartialEq</span><span style="color:#ca60ca">,</span><span style="color:#0057ae"> </span><span style="color:#644a9b;font-weight:bold">Eq</span><span style="color:#ca60ca">,</span><span style="color:#0057ae"> </span><span style="color:#644a9b;font-weight:bold">Hash</span><span style="color:#ca60ca">,</span><span style="color:#0057ae"> </span><span style="color:#644a9b;font-weight:bold">Copy</span><span style="color:#0057ae">)]</span>
<span style="font-weight:bold">pub</span> <span style="font-weight:bold">struct</span> Lifetime <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">pub</span> id<span style="color:#ca60ca">:</span> NodeId<span style="color:#ca60ca">,</span>
<span style="font-weight:bold">pub</span> span<span style="color:#ca60ca">:</span> Span<span style="color:#ca60ca">,</span>
<span style="font-weight:bold">pub</span> bounds<span style="color:#ca60ca">:</span> <span style="color:#0057ae">Vec</span><span style="color:#ca60ca"><</span>PathSegment<span style="color:#ca60ca">></span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">impl</span> <span style="color:#006e28">fmt::</span><span style="color:#644a9b;font-weight:bold">Debug</span> <span style="font-weight:bold">for</span> Lifetime <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">fn</span> fmt(<span style="color:#ca60ca">&</span><span style="font-weight:bold">self</span><span style="color:#ca60ca">,</span> f<span style="color:#ca60ca">:</span> <span style="color:#ca60ca">&</span><span style="font-weight:bold">mut</span> <span style="color:#006e28">fmt::</span>Formatter) <span style="color:#ca60ca">-></span> <span style="color:#006e28">fmt::</span><span style="color:#0057ae">Result</span> <span style="color:#ca60ca">{</span>
<span style="color:#006e28">write!</span>(f<span style="color:#ca60ca">,</span> <span style="color:#bf0303">"lifetime({}: {})"</span><span style="color:#ca60ca">,</span> <span style="font-weight:bold">self</span><span style="color:#ca60ca">.</span>id<span style="color:#ca60ca">,</span> <span style="color:#006e28">pprust::</span>lifetime_to_string(<span style="font-weight:bold">self</span>))
<span style="color:#ca60ca">}</span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">impl</span><span style="color:#ca60ca"><</span><span style="color:#006e28">'a</span><span style="color:#ca60ca">></span> <span style="color:#644a9b;font-weight:bold">PartialEq</span><span style="color:#ca60ca"><&</span><span style="color:#006e28">'a</span> <span style="color:#0057ae">str</span><span style="color:#ca60ca">></span> <span style="font-weight:bold">for</span> <span style="color:#0057ae">Path</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">fn</span> eq(<span style="color:#ca60ca">&</span><span style="font-weight:bold">self</span><span style="color:#ca60ca">,</span> string<span style="color:#ca60ca">:</span> <span style="color:#ca60ca">&&</span><span style="color:#006e28">'a</span> <span style="color:#0057ae">str</span>) <span style="color:#ca60ca">-></span> <span style="color:#0057ae">bool</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">self</span><span style="color:#ca60ca">.</span>segments<span style="color:#ca60ca">.</span>len() <span style="color:#ca60ca">==</span> <span style="color:#b08000">1</span> <span style="color:#ca60ca">&&</span> <span style="font-weight:bold">self</span><span style="color:#ca60ca">.</span>segments[<span style="color:#b08000">0</span>]<span style="color:#ca60ca">.</span>identifier<span style="color:#ca60ca">.</span>name <span style="color:#ca60ca">==</span> <span style="color:#ca60ca">*</span>string
<span style="color:#ca60ca">}</span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">enum</span> TraitBoundModifier <span style="color:#ca60ca">{</span>
<span style="color:#aa5500">None</span><span style="color:#ca60ca">,</span>
Maybe<span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">union</span> tests <span style="color:#ca60ca">{</span>
a<span style="color:#ca60ca">:</span> <span style="color:#0057ae">i128</span><span style="color:#ca60ca">,</span>
b<span style="color:#ca60ca">:</span> <span style="color:#0057ae">isize</span><span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">}</span>
<span style="color:#898887">// Self vs self</span>
<span style="font-weight:bold">trait</span> T <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">type</span> Item<span style="color:#ca60ca">;</span>
<span style="color:#898887">// `Self` will be whatever type that implements `T`.</span>
<span style="font-weight:bold">fn</span> new() <span style="color:#ca60ca">-></span> <span style="color:#0057ae">Self</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">// `Self::Item` will be the type alias in the implementation.</span>
<span style="font-weight:bold">fn</span> f(<span style="color:#ca60ca">&</span><span style="font-weight:bold">self</span>) <span style="color:#ca60ca">-></span> <span style="color:#0057ae">Self</span><span style="color:#006e28">::</span>Item<span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
<span style="color:#898887">// Raw identifiers</span>
<span style="font-weight:bold">extern</span> <span style="font-weight:bold">crate</span> foo<span style="color:#ca60ca">;</span>
<span style="font-weight:bold">fn</span> main() <span style="color:#ca60ca">{</span>
<span style="color:#006e28">foo::</span><span style="color:#ca60ca">r#</span>try()<span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
<span style="color:#0057ae">#[valid types]</span>
<span style="font-weight:bold">fn</span> types() <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">let</span> num <span style="color:#ca60ca">=</span> <span style="color:#b08000">333_3_</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_u8<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u8</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333u8</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_u16<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u16</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333u16</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_u32<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u32</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333u32</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_u64<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u64</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333u64</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_u128<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u128</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333u128</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_usize<span style="color:#ca60ca">:</span> <span style="color:#0057ae">usize</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333usize</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> num_float<span style="color:#ca60ca">:</span> <span style="color:#0057ae">f32</span> <span style="color:#ca60ca">=</span> <span style="color:#b08000">333.45f32</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> binary <span style="color:#ca60ca">=</span> <span style="color:#b08000">0b1_010</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> octal <span style="color:#ca60ca">=</span> <span style="color:#b08000">0o21535</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> hexadecimal <span style="color:#ca60ca">=</span> <span style="color:#b08000">0x73A2_F</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> char1<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'a'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> char2<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#3daee9">\n</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> char3<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#3daee9">\u{123_AF}</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> byte1<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u8</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">b'a'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> byte2<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u8</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">b'</span><span style="color:#3daee9">\x13</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> string<span style="color:#ca60ca">:</span> <span style="color:#0057ae">str</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"hello </span><span style="color:#3daee9">\n</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\r</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\u{123_________fd_}</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\</span>
<span style="color:#bf0303"> bye"</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> byte_string<span style="color:#ca60ca">:</span> <span style="color:#0057ae">str</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">b"hello </span><span style="color:#3daee9">\t</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\0</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\</span><span style="color:#bf0303;text-decoration:underline">u</span><span style="color:#bf0303">{123} </span><span style="color:#3daee9">\</span><span style="color:#bf0303;text-decoration:underline">b</span><span style="color:#bf0303"> bye"</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> raw_string1<span style="color:#ca60ca">:</span> <span style="color:#0057ae">str</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">r"hello \t \b"</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> raw_string2<span style="color:#ca60ca">:</span> <span style="color:#0057ae">str</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">r####"hello \n "### bye"####</span>####<span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> raw_string3<span style="color:#ca60ca">:</span> <span style="color:#0057ae">str</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">br####"hello \n"####</span><span style="color:#ca60ca">;</span>
<span style="color:#898887">// Invalid</span>
<span style="font-weight:bold">let</span> invalid_binary<span style="color:#ca60ca">=</span> <span style="color:#bf0303;text-decoration:underline">0b1_015</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_octal <span style="color:#ca60ca">=</span> <span style="color:#bf0303;text-decoration:underline">0o64_92</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_hexadecimal <span style="color:#ca60ca">=</span> <span style="color:#bf0303;text-decoration:underline">0x7_3AY</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_char1<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#bf0303;text-decoration:underline">\y</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_char2<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#bf0303;text-decoration:underline">\324</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_char3<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#bf0303;text-decoration:underline">%%</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_char4<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#bf0303;text-decoration:underline">\n\dfd</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_char5<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#006e28">'aaaa</span>a<span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> open_char<span style="color:#ca60ca">:</span> <span style="color:#0057ae">char</span> <span style="color:#ca60ca">=</span> <span style="color:#924c9d">'</span><span style="color:#ca60ca">&&&;</span>
<span style="font-weight:bold">let</span> invalid_byte1<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u8</span> <span style="color:#ca60ca">=</span> b<span style="color:#006e28">'a</span>b<span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_byte2<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u8</span> <span style="color:#ca60ca">=</span> b<span style="color:#924c9d">'</span><span style="color:#bf0303;text-decoration:underline">\b</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_byte2<span style="color:#ca60ca">:</span> <span style="color:#0057ae">u8</span> <span style="color:#ca60ca">=</span> b<span style="color:#924c9d">'</span><span style="color:#3daee9">\u{123}</span><span style="color:#924c9d">'</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">let</span> invalid_string<span style="color:#ca60ca">:</span> <span style="color:#0057ae">str</span> <span style="color:#ca60ca">=</span> <span style="color:#bf0303">"hello </span><span style="color:#3daee9">\</span><span style="color:#bf0303;text-decoration:underline">b</span><span style="color:#bf0303"> </span><span style="color:#3daee9">\</span><span style="color:#bf0303;text-decoration:underline">u</span><span style="color:#bf0303">{_123} </span><span style="color:#3daee9">\</span><span style="color:#bf0303;text-decoration:underline">u</span><span style="color:#bf0303">{1234567} </span><span style="color:#3daee9">\</span><span style="color:#bf0303;text-decoration:underline"> </span><span style="color:#bf0303"> bye"</span><span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
<span style="color:#898887">//ControlFlow-specific keywords</span>
<span style="font-weight:bold">fn</span> controlflow(y<span style="color:#ca60ca">:</span> <span style="color:#0057ae">Vec</span><span style="color:#ca60ca"><</span><span style="color:#0057ae">usize</span><span style="color:#ca60ca">></span>) <span style="color:#ca60ca">-></span> <span style="color:#0057ae">usize</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">let</span> <span style="font-weight:bold">mut</span> x <span style="color:#ca60ca">=</span> <span style="color:#b08000">0</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">while</span> x <span style="color:#ca60ca"><</span> <span style="color:#b08000">10</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">if</span> x <span style="color:#ca60ca">></span> <span style="color:#b08000">5</span> <span style="color:#ca60ca">{</span>
x <span style="color:#ca60ca">=</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">else</span> <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">return</span> <span style="color:#b08000">5</span>
<span style="color:#ca60ca">}</span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">loop</span> <span style="color:#ca60ca">{</span>
x<span style="color:#ca60ca">+=</span> <span style="color:#b08000">1</span><span style="color:#ca60ca">;</span>
<span style="font-weight:bold">break</span><span style="color:#ca60ca">;</span>
<span style="color:#ca60ca">}</span>
<span style="font-weight:bold">for</span> z <span style="font-weight:bold">in</span> y <span style="color:#ca60ca">{</span>
<span style="font-weight:bold">match</span> z <span style="color:#ca60ca">{</span>
<span style="color:#b08000">1</span> <span style="color:#ca60ca">=></span> <span style="font-weight:bold">continue</span><span style="color:#ca60ca">,</span>
_ <span style="color:#ca60ca">=></span> x <span style="color:#ca60ca">=</span> <span style="color:#b08000">2</span><span style="color:#ca60ca">,</span>
<span style="color:#ca60ca">}</span>
<span style="color:#ca60ca">}</span>
x
<span style="color:#ca60ca">}</span>
</pre></body></html>
|