§
    £E±c   ã                   ót   — d Z ddlmZmZmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZmZmZ dgZ G d„ de¦  «        ZdS )zÊ
    pygments.lexers.rust
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the Rust language.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚbygroupsÚwordsÚdefault)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚ	RustLexerc                   óÄ  — e Zd ZdZdZdZddgZddgZdd	gZ e	d
d¬¦  «        e
j        fZ e	dd¬¦  «        ej        fZ e	dd¬¦  «        ej        j        fZdej        f ed¦  «        gg def‘def‘dej        f‘dej        f‘dej        f‘dej        df‘dej        df‘dej        df‘dej        f‘ e	dd¬¦  «        e
f‘ e	dd¬¦  «        e
j        f‘de
j        f‘d ej        j        f‘d!e
d"f‘d#e
j        f‘d$e
d%f‘d&e
d'f‘d( ee
e e
¦  «        f‘e‘d)ej        j        f‘e‘e‘d*e f‘d+e d'f‘d, ee
e j        ej!        ¦  «        f‘d-ej"        f‘d.ej"        f‘d/e#j$        d0f‘d1e#j%        d0f‘d2e#j&        d0f‘d3e#j'        d0f‘d4e#j(        d0f‘d5ed6f‘d7ed8f‘d9ef‘d:e)d;f‘d<e)f‘d=e*f‘d>e)f‘d?ef‘d@ef‘dAej        dBf‘dCe f‘dDej        fdej        dEfdFej        dGfdHej        fgdDej        fdej        dEfdFej        dGfdHej        fgde fd?ej+        dGf edG¦  «        gde fd?ej        dGf edG¦  «        gde fdIe
j        fd:e)d;feed?ej,        dGf edG¦  «        gdJej        fdKej-        f edG¦  «        gdLe
dGfdMe
dGf edG¦  «        gd7edGfdNej.        fdOefdPefgdQej.        f e/d8¦  «        gd7ed8fdRej        dBfg e/dS¦  «        dTej        dGfdUej        fgdVœZ0dWS )Xr   z\
    Lexer for the Rust programming language (version 1.47).

    .. versionadded:: 1.6
    ÚRustzhttps://www.rust-lang.org/z*.rsz*.rs.inÚrustÚrsz	text/rustztext/x-rust)Úu8Úu16Úu32Úu64Úu128Úi8Úi16Úi32Úi64Úi128ÚusizeÚisizeÚf32Úf64ÚcharÚstrÚboolz\b)Úsuffix)$ÚCopyÚSendÚSizedÚSyncÚUnpinÚDropÚFnÚFnMutÚFnOnceÚdropÚBoxÚToOwnedÚCloneÚ	PartialEqÚ
PartialOrdÚEqÚOrdÚAsRefÚAsMutÚIntoÚFromÚDefaultÚIteratorÚExtendÚIntoIteratorÚDoubleEndedIteratorÚExactSizeIteratorÚOptionÚSomeÚNoneÚResultÚOkÚErrr   ÚToStringÚVec)2ÚasmÚassertÚ	assert_eqÚ	assert_neÚcfgÚcolumnÚcompile_errorÚconcatÚconcat_identsÚdbgÚdebug_assertÚdebug_assert_eqÚdebug_assert_neÚenvÚeprintÚeprintlnÚfileÚformatÚformat_argsÚformat_args_nlÚ
global_asmr   Úinclude_bytesÚinclude_strÚis_aarch64_feature_detectedÚis_arm_feature_detectedÚis_mips64_feature_detectedÚis_mips_feature_detectedÚis_powerpc64_feature_detectedÚis_powerpc_feature_detectedÚis_x86_feature_detectedÚlineÚllvm_asmÚ
log_syntaxÚmacro_rulesÚmatchesÚmodule_pathÚ
option_envÚpanicÚprintÚprintlnÚ	stringifyÚthread_localÚtodoÚtrace_macrosÚunimplementedÚunreachableÚvecÚwriteÚwritelnú!z#![^[\r\n].*$Úbasez\nz\s+z//!.*?\nz///(\n|[^/].*?\n)z	//(.*?)\nz/\*\*(\n|[^/*])Ú
doccommentz/\*!z/\*Úcommentz\$([a-zA-Z_]\w*|\(,?|\),?|,?))ÚasÚasyncÚawaitÚboxÚconstÚcrateÚdynÚelseÚexternÚforÚifÚimplÚinÚloopÚmatchÚmoveÚmutÚpubÚrefÚreturnÚstaticÚsuperÚtraitÚunsafeÚuseÚwhereÚwhile)ÚabstractÚbecomeÚdoÚfinalÚmacroÚoverrideÚprivÚtypeofÚtryÚunsizedÚvirtualÚyieldz(true|false)\bzself\bzmod\bÚmodnamezlet\bzfn\bÚfuncnamez(struct|enum|type|union)\bÚtypenamez(default)(\s+)(type|fn)\bz	[sS]elf\bz::\bz(?::|->)z((break|continue)(\b\s*)(\'[A-Za-z_]\w*)?zA'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'z@b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'z0b[01_]+Ú
number_litz	0o[0-7_]+z0[xX][0-9a-fA-F_]+zJ[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)z[0-9][0-9_]*zb"Ú
bytestringú"Ústringz(?s)b?r(#*)".*?"\1ú'Úlifetimez\.\.=?z[{}()\[\],.;]z[+\-*/%&|<>^!~@=:?]z[a-zA-Z_]\w*zr#[a-zA-Z_]\w*z#!?\[ú
attribute[ú#z[^*/]+z#pushz\*/z#popz[*/]ú&z
(static|_)z[a-zA-Z_]+\w*z[ui](8|16|32|64|size)zf(32|64)z;\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}z[^\\"]+z\\z\\x[89a-fA-F][0-9a-fA-F]z\[Úattribute_commonz\]z	[^"\]\[]+)Úrootr}   r   r~   r§   r¨   r©   r¯   rª   r­   r«   r³   r°   N)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚ	mimetypesr   r   ÚTypeÚkeyword_typesr   ÚBuiltinÚbuiltin_funcs_typesÚFunctionÚMagicÚbuiltin_macrosr	   ÚPreprocr   r   r   ÚDocÚSingleÚ	MultilineÚReservedÚConstantÚPseudoÚDeclarationr   r   ÚLabelÚCharr   ÚBinÚOctÚHexÚFloatÚIntegerr
   r   Ú	NamespaceÚClassÚ	AttributeÚEscaper   Útokens© ó    ú6/usr/lib/python3/dist-packages/pygments/lexers/rust.pyr   r      s[  € € € € € ðð ð
 €DØ
&€CØ˜Ð#€IØ�tˆn€GØ˜mÐ,€Ià�Uð ð ðñ ô ð ”lð$€Mð
 !˜5ð "ð ðñ ô ð ”lð$Ðð �eð ð" ð#ñ ô ð" ”]Ô(ð#*€Nð. ˜wœÐ/ØˆG�F‰OŒOð	
ðW
à�JÐðW
ð �ZÐ ðW
ð ˜&œ*Ð%ð	W
ð
 " 6¤:Ð.ðW
ð ˜7œ>Ð*ðW
ð   ¤¨\Ð:ðW
ð �f”j ,Ð/ðW
ð �WÔ&¨	Ð2ðW
ð 2°7´?ÐCðW
ð ˆUð Ið  ð	!ñ !ô !ð #*ð	+ðW
ð& ˆUð Làð!ñ !ô !à")Ô"2ð4ð'W
ð,  Ô 0Ð1ð-W
ð. ˜œÔ+Ð,ð/W
ð0 �w 	Ð*ð1W
ð2 �wÔ*Ð+ð3W
ð4 �g˜zÐ*ð5W
ð6 +¨G°ZÐ@ð7W
ð8 *¨8¨8°G¸TÀ7Ñ+KÔ+KÐLð9W
ð: ð;W
ð< ˜4œ<Ô.Ð/ð=W
ð@  ðAW
ðB ðCW
ðF �dˆOðGW
ðJ ˜$ 
Ð+ðKW
ðN 9ØˆX�g˜tœ°´
Ñ;Ô;ð=ðOW
ðV1àŒ[ððWW
ð\1àŒ[ðð]W
ðf ˜&œ* lÐ3ðgW
ðj ˜6œ: |Ð4ðkW
ðn # F¤J°Ð=ðoW
ðr3Ø4:´LØððsW
ðx ˜fœn¨lÐ;ðyW
ð~ �F˜LÐ)ðW
ð@ �6˜8Ð$ðAW
ðB # FÐ+ðCW
ðH �8˜ZÐ(ðIW
ðN ˜Ð!ðOW
ðP ˜{Ð+ðQW
ðR $ XÐ.ðSW
ðX ˜dÐ#ðYW
ð\  Ð%ð]W
ðb �w”¨Ð5ðcW
ðl �4ˆLðmW
ðr ˜Ô)Ð*Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð	
ð ˜œ
Ð#Ø�V”Z Ð)Ø�V”Z Ð(Ø�f”jÐ!ð	
ð �TˆNØ˜dœn¨fÐ5ØˆG�F‰OŒOð
ð �TˆNØ˜dœm¨VÐ4ØˆG�F‰OŒOð
ð �TˆNØ�7”>Ð"Ø�8˜ZÐ(ØØØ˜dœj¨&Ð1ØˆG�F‰OŒOð
ð ˜DœLÐ)Ø˜tœ~Ð.ØˆG�F‰OŒOð
ð & w°Ð7Ø˜' 6Ð*ØˆG�F‰OŒOð
ð �6˜6Ð"ð-Ø.4¬mð=à˜Ð Ø�FˆOð
ð -¨f¬mÐ<ØˆG�HÑÔð
ð
 �6˜8Ð$Ø�G”O \Ð2ð
ð
 ˆGÐ&Ñ'Ô'Ø�G”O VÐ,Ø˜7œ?Ð+ð
ðo\ð \€F€F€FrÚ   N)r¸   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__r   rÙ   rÚ   rÛ   ú<module>rß      sñ   ððð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hð$ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð ˆ-€ðMð Mð Mð Mð M�
ñ Mô Mð Mð Mð MrÚ   