File indexing completed on 2025-02-02 03:54:47
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>test.rs</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Rust) - Theme (Breeze Dark)"/> 0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre> 0007 <span style="color:#7a7c7d">// Comment </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold">NOTE</span> 0008 <span style="color:#7a7c7d">/* Comment </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">FIXME</span><span style="color:#7a7c7d"> </span><span style="color:#e85848;background-color:#451e1a;font-weight:bold">ALERT</span> 0009 <span style="color:#7a7c7d"> */</span> 0010 0011 <span style="color:#7a7c7d">// Identifiers</span> 0012 <span style="color:#27ae60">hellóñαωΑΩµo!</span>()<span style="color:#3f8058">;</span> 0013 <span style="color:#27ae60">HellóñαωΑΩµ::</span>Hello<span style="color:#3f8058">;</span> 0014 <span style="color:#27ae60">'hellóñαωΑΩµo</span> 0015 0016 <span style="font-weight:bold">pub</span> <span style="font-weight:bold">use</span> <span style="font-weight:bold">self</span><span style="color:#27ae60">::PathParameters::</span><span style="color:#3f8058">*;</span> 0017 <span style="font-weight:bold">pub</span> <span style="font-weight:bold">use</span> <span style="color:#27ae60">symbol::</span><span style="color:#3f8058">{</span>Ident<span style="color:#3f8058">,</span> Symbol <span style="font-weight:bold">as</span> Name<span style="color:#3f8058">};</span> 0018 <span style="font-weight:bold">use</span> <span style="color:#27ae60">serialize::</span><span style="color:#3f8058">{</span><span style="font-weight:bold">self</span><span style="color:#3f8058">,</span> Encoder<span style="color:#3f8058">,</span> Decoder<span style="color:#3f8058">};</span> 0019 <span style="font-weight:bold">use</span> <span style="color:#27ae60">std::</span><span style="color:#2980b9">u32</span><span style="color:#3f8058">;</span> 0020 0021 <span style="color:#2980b9">#[derive(</span><span style="color:#7f8c8d">Clone</span><span style="color:#3f8058">,</span><span style="color:#2980b9"> </span><span style="color:#7f8c8d">PartialEq</span><span style="color:#3f8058">,</span><span style="color:#2980b9"> </span><span style="color:#7f8c8d">Eq</span><span style="color:#3f8058">,</span><span style="color:#2980b9"> </span><span style="color:#7f8c8d">Hash</span><span style="color:#3f8058">,</span><span style="color:#2980b9"> </span><span style="color:#7f8c8d">Copy</span><span style="color:#2980b9">)]</span> 0022 0023 <span style="font-weight:bold">pub</span> <span style="font-weight:bold">struct</span> Lifetime <span style="color:#3f8058">{</span> 0024 <span style="font-weight:bold">pub</span> id<span style="color:#3f8058">:</span> NodeId<span style="color:#3f8058">,</span> 0025 <span style="font-weight:bold">pub</span> span<span style="color:#3f8058">:</span> Span<span style="color:#3f8058">,</span> 0026 <span style="font-weight:bold">pub</span> bounds<span style="color:#3f8058">:</span> <span style="color:#2980b9">Vec</span><span style="color:#3f8058"><</span>PathSegment<span style="color:#3f8058">></span> 0027 <span style="color:#3f8058">}</span> 0028 0029 <span style="font-weight:bold">impl</span> <span style="color:#27ae60">fmt::</span><span style="color:#7f8c8d">Debug</span> <span style="color:#fdbc4b;font-weight:bold">for</span> Lifetime <span style="color:#3f8058">{</span> 0030 <span style="font-weight:bold">fn</span> fmt(<span style="color:#3f8058">&</span><span style="font-weight:bold">self</span><span style="color:#3f8058">,</span> f<span style="color:#3f8058">:</span> <span style="color:#3f8058">&</span><span style="font-weight:bold">mut</span> <span style="color:#27ae60">fmt::</span>Formatter) <span style="color:#3f8058">-></span> <span style="color:#27ae60">fmt::</span><span style="color:#2980b9">Result</span> <span style="color:#3f8058">{</span> 0031 <span style="color:#27ae60">write!</span>(f<span style="color:#3f8058">,</span> <span style="color:#f44f4f">"lifetime({}: {})"</span><span style="color:#3f8058">,</span> <span style="font-weight:bold">self</span><span style="color:#3f8058">.</span>id<span style="color:#3f8058">,</span> <span style="color:#27ae60">pprust::</span>lifetime_to_string(<span style="font-weight:bold">self</span>)) 0032 <span style="color:#3f8058">}</span> 0033 <span style="color:#3f8058">}</span> 0034 <span style="font-weight:bold">impl</span><span style="color:#3f8058"><</span><span style="color:#27ae60">'a</span><span style="color:#3f8058">></span> <span style="color:#7f8c8d">PartialEq</span><span style="color:#3f8058"><&</span><span style="color:#27ae60">'a</span> <span style="color:#2980b9">str</span><span style="color:#3f8058">></span> <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#2980b9">Path</span> <span style="color:#3f8058">{</span> 0035 <span style="font-weight:bold">fn</span> eq(<span style="color:#3f8058">&</span><span style="font-weight:bold">self</span><span style="color:#3f8058">,</span> string<span style="color:#3f8058">:</span> <span style="color:#3f8058">&&</span><span style="color:#27ae60">'a</span> <span style="color:#2980b9">str</span>) <span style="color:#3f8058">-></span> <span style="color:#2980b9">bool</span> <span style="color:#3f8058">{</span> 0036 <span style="font-weight:bold">self</span><span style="color:#3f8058">.</span>segments<span style="color:#3f8058">.</span>len() <span style="color:#3f8058">==</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">&&</span> <span style="font-weight:bold">self</span><span style="color:#3f8058">.</span>segments[<span style="color:#f67400">0</span>]<span style="color:#3f8058">.</span>identifier<span style="color:#3f8058">.</span>name <span style="color:#3f8058">==</span> <span style="color:#3f8058">*</span>string 0037 <span style="color:#3f8058">}</span> 0038 <span style="color:#3f8058">}</span> 0039 0040 <span style="font-weight:bold">enum</span> TraitBoundModifier <span style="color:#3f8058">{</span> 0041 <span style="color:#27aeae;font-weight:bold">None</span><span style="color:#3f8058">,</span> 0042 Maybe<span style="color:#3f8058">,</span> 0043 <span style="color:#3f8058">}</span> 0044 0045 <span style="font-weight:bold">union</span> tests <span style="color:#3f8058">{</span> 0046 a<span style="color:#3f8058">:</span> <span style="color:#2980b9">i128</span><span style="color:#3f8058">,</span> 0047 b<span style="color:#3f8058">:</span> <span style="color:#2980b9">isize</span><span style="color:#3f8058">,</span> 0048 <span style="color:#3f8058">}</span> 0049 0050 <span style="color:#7a7c7d">// Self vs self</span> 0051 <span style="font-weight:bold">trait</span> T <span style="color:#3f8058">{</span> 0052 <span style="font-weight:bold">type</span> Item<span style="color:#3f8058">;</span> 0053 <span style="color:#7a7c7d">// `Self` will be whatever type that implements `T`.</span> 0054 <span style="font-weight:bold">fn</span> new() <span style="color:#3f8058">-></span> <span style="color:#2980b9">Self</span><span style="color:#3f8058">;</span> 0055 <span style="color:#7a7c7d">// `Self::Item` will be the type alias in the implementation.</span> 0056 <span style="font-weight:bold">fn</span> f(<span style="color:#3f8058">&</span><span style="font-weight:bold">self</span>) <span style="color:#3f8058">-></span> <span style="color:#2980b9">Self</span><span style="color:#27ae60">::</span>Item<span style="color:#3f8058">;</span> 0057 <span style="color:#3f8058">}</span> 0058 0059 <span style="color:#7a7c7d">// Raw identifiers</span> 0060 <span style="font-weight:bold">extern</span> <span style="font-weight:bold">crate</span> foo<span style="color:#3f8058">;</span> 0061 <span style="font-weight:bold">fn</span> main() <span style="color:#3f8058">{</span> 0062 <span style="color:#27ae60">foo::</span><span style="color:#3f8058">r#</span>try()<span style="color:#3f8058">;</span> 0063 <span style="color:#3f8058">}</span> 0064 0065 <span style="color:#2980b9">#[valid types]</span> 0066 <span style="font-weight:bold">fn</span> types() <span style="color:#3f8058">{</span> 0067 <span style="font-weight:bold">let</span> num <span style="color:#3f8058">=</span> <span style="color:#f67400">333_3_</span><span style="color:#3f8058">;</span> 0068 <span style="font-weight:bold">let</span> num_u8<span style="color:#3f8058">:</span> <span style="color:#2980b9">u8</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333u8</span><span style="color:#3f8058">;</span> 0069 <span style="font-weight:bold">let</span> num_u16<span style="color:#3f8058">:</span> <span style="color:#2980b9">u16</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333u16</span><span style="color:#3f8058">;</span> 0070 <span style="font-weight:bold">let</span> num_u32<span style="color:#3f8058">:</span> <span style="color:#2980b9">u32</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333u32</span><span style="color:#3f8058">;</span> 0071 <span style="font-weight:bold">let</span> num_u64<span style="color:#3f8058">:</span> <span style="color:#2980b9">u64</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333u64</span><span style="color:#3f8058">;</span> 0072 <span style="font-weight:bold">let</span> num_u128<span style="color:#3f8058">:</span> <span style="color:#2980b9">u128</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333u128</span><span style="color:#3f8058">;</span> 0073 <span style="font-weight:bold">let</span> num_usize<span style="color:#3f8058">:</span> <span style="color:#2980b9">usize</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333usize</span><span style="color:#3f8058">;</span> 0074 <span style="font-weight:bold">let</span> num_float<span style="color:#3f8058">:</span> <span style="color:#2980b9">f32</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">333.45f32</span><span style="color:#3f8058">;</span> 0075 0076 <span style="font-weight:bold">let</span> binary <span style="color:#3f8058">=</span> <span style="color:#f67400">0b1_010</span><span style="color:#3f8058">;</span> 0077 <span style="font-weight:bold">let</span> octal <span style="color:#3f8058">=</span> <span style="color:#f67400">0o21535</span><span style="color:#3f8058">;</span> 0078 <span style="font-weight:bold">let</span> hexadecimal <span style="color:#3f8058">=</span> <span style="color:#f67400">0x73A2_F</span><span style="color:#3f8058">;</span> 0079 0080 <span style="font-weight:bold">let</span> char1<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'a'</span><span style="color:#3f8058">;</span> 0081 <span style="font-weight:bold">let</span> char2<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#3daee9">\n</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0082 <span style="font-weight:bold">let</span> char3<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#3daee9">\u{123_AF}</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0083 0084 <span style="font-weight:bold">let</span> byte1<span style="color:#3f8058">:</span> <span style="color:#2980b9">u8</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">b'a'</span><span style="color:#3f8058">;</span> 0085 <span style="font-weight:bold">let</span> byte2<span style="color:#3f8058">:</span> <span style="color:#2980b9">u8</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">b'</span><span style="color:#3daee9">\x13</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0086 0087 <span style="font-weight:bold">let</span> string<span style="color:#3f8058">:</span> <span style="color:#2980b9">str</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"hello </span><span style="color:#3daee9">\n</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\r</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\u{123_________fd_}</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\</span> 0088 <span style="color:#f44f4f"> bye"</span><span style="color:#3f8058">;</span> 0089 <span style="font-weight:bold">let</span> byte_string<span style="color:#3f8058">:</span> <span style="color:#2980b9">str</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">b"hello </span><span style="color:#3daee9">\t</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\0</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\</span><span style="color:#da4453;text-decoration:underline">u</span><span style="color:#f44f4f">{123} </span><span style="color:#3daee9">\</span><span style="color:#da4453;text-decoration:underline">b</span><span style="color:#f44f4f"> bye"</span><span style="color:#3f8058">;</span> 0090 <span style="font-weight:bold">let</span> raw_string1<span style="color:#3f8058">:</span> <span style="color:#2980b9">str</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">r"hello \t \b"</span><span style="color:#3f8058">;</span> 0091 <span style="font-weight:bold">let</span> raw_string2<span style="color:#3f8058">:</span> <span style="color:#2980b9">str</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">r####"hello \n "### bye"####</span>####<span style="color:#3f8058">;</span> 0092 <span style="font-weight:bold">let</span> raw_string3<span style="color:#3f8058">:</span> <span style="color:#2980b9">str</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">br####"hello \n"####</span><span style="color:#3f8058">;</span> 0093 0094 <span style="color:#7a7c7d">// Invalid</span> 0095 0096 <span style="font-weight:bold">let</span> invalid_binary<span style="color:#3f8058">=</span> <span style="color:#da4453;text-decoration:underline">0b1_015</span><span style="color:#3f8058">;</span> 0097 <span style="font-weight:bold">let</span> invalid_octal <span style="color:#3f8058">=</span> <span style="color:#da4453;text-decoration:underline">0o64_92</span><span style="color:#3f8058">;</span> 0098 <span style="font-weight:bold">let</span> invalid_hexadecimal <span style="color:#3f8058">=</span> <span style="color:#da4453;text-decoration:underline">0x7_3AY</span><span style="color:#3f8058">;</span> 0099 0100 <span style="font-weight:bold">let</span> invalid_char1<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#da4453;text-decoration:underline">\y</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0101 <span style="font-weight:bold">let</span> invalid_char2<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#da4453;text-decoration:underline">\324</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0102 <span style="font-weight:bold">let</span> invalid_char3<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#da4453;text-decoration:underline">%%</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0103 <span style="font-weight:bold">let</span> invalid_char4<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#da4453;text-decoration:underline">\n\dfd</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0104 <span style="font-weight:bold">let</span> invalid_char5<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#27ae60">'aaaa</span>a<span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0105 <span style="font-weight:bold">let</span> open_char<span style="color:#3f8058">:</span> <span style="color:#2980b9">char</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#3f8058">&&&;</span> 0106 0107 <span style="font-weight:bold">let</span> invalid_byte1<span style="color:#3f8058">:</span> <span style="color:#2980b9">u8</span> <span style="color:#3f8058">=</span> b<span style="color:#27ae60">'a</span>b<span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0108 <span style="font-weight:bold">let</span> invalid_byte2<span style="color:#3f8058">:</span> <span style="color:#2980b9">u8</span> <span style="color:#3f8058">=</span> b<span style="color:#3daee9">'</span><span style="color:#da4453;text-decoration:underline">\b</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0109 <span style="font-weight:bold">let</span> invalid_byte2<span style="color:#3f8058">:</span> <span style="color:#2980b9">u8</span> <span style="color:#3f8058">=</span> b<span style="color:#3daee9">'</span><span style="color:#3daee9">\u{123}</span><span style="color:#3daee9">'</span><span style="color:#3f8058">;</span> 0110 0111 <span style="font-weight:bold">let</span> invalid_string<span style="color:#3f8058">:</span> <span style="color:#2980b9">str</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"hello </span><span style="color:#3daee9">\</span><span style="color:#da4453;text-decoration:underline">b</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\</span><span style="color:#da4453;text-decoration:underline">u</span><span style="color:#f44f4f">{_123} </span><span style="color:#3daee9">\</span><span style="color:#da4453;text-decoration:underline">u</span><span style="color:#f44f4f">{1234567} </span><span style="color:#3daee9">\</span><span style="color:#da4453;text-decoration:underline"> </span><span style="color:#f44f4f"> bye"</span><span style="color:#3f8058">;</span> 0112 <span style="color:#3f8058">}</span> 0113 0114 <span style="color:#7a7c7d">//ControlFlow-specific keywords</span> 0115 <span style="font-weight:bold">fn</span> controlflow(y<span style="color:#3f8058">:</span> <span style="color:#2980b9">Vec</span><span style="color:#3f8058"><</span><span style="color:#2980b9">usize</span><span style="color:#3f8058">></span>) <span style="color:#3f8058">-></span> <span style="color:#2980b9">usize</span> <span style="color:#3f8058">{</span> 0116 <span style="font-weight:bold">let</span> <span style="font-weight:bold">mut</span> x <span style="color:#3f8058">=</span> <span style="color:#f67400">0</span><span style="color:#3f8058">;</span> 0117 <span style="color:#fdbc4b;font-weight:bold">while</span> x <span style="color:#3f8058"><</span> <span style="color:#f67400">10</span> <span style="color:#3f8058">{</span> 0118 <span style="color:#fdbc4b;font-weight:bold">if</span> x <span style="color:#3f8058">></span> <span style="color:#f67400">5</span> <span style="color:#3f8058">{</span> 0119 x <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#3f8058">;</span> 0120 <span style="color:#3f8058">}</span> 0121 <span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#3f8058">{</span> 0122 <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#f67400">5</span> 0123 <span style="color:#3f8058">}</span> 0124 <span style="color:#3f8058">}</span> 0125 <span style="color:#fdbc4b;font-weight:bold">loop</span> <span style="color:#3f8058">{</span> 0126 x<span style="color:#3f8058">+=</span> <span style="color:#f67400">1</span><span style="color:#3f8058">;</span> 0127 <span style="color:#fdbc4b;font-weight:bold">break</span><span style="color:#3f8058">;</span> 0128 <span style="color:#3f8058">}</span> 0129 <span style="color:#fdbc4b;font-weight:bold">for</span> z <span style="font-weight:bold">in</span> y <span style="color:#3f8058">{</span> 0130 <span style="color:#fdbc4b;font-weight:bold">match</span> z <span style="color:#3f8058">{</span> 0131 <span style="color:#f67400">1</span> <span style="color:#3f8058">=></span> <span style="color:#fdbc4b;font-weight:bold">continue</span><span style="color:#3f8058">,</span> 0132 _ <span style="color:#3f8058">=></span> x <span style="color:#3f8058">=</span> <span style="color:#f67400">2</span><span style="color:#3f8058">,</span> 0133 <span style="color:#3f8058">}</span> 0134 <span style="color:#3f8058">}</span> 0135 x 0136 <span style="color:#3f8058">}</span> 0137 </pre></body></html>