3

V'íc ã@sfdZddlmZmZmZmZmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZdgZGdd„deƒZdS)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Ú	RustLexerc3@seZdZdZdZdZddgZddgZdd	gZe	dádde
jfZe	dâdde
jfZe	dãdsde
jjfZdtejfeduƒgdvefdwefdxejfdyejfdzejfd{ejd|fd}ejd|fd~ejdfd€ejfe	dädde
fe	dådde
jfd¨e
jfd©e
jjfdªe
d«fd¬e
jfd­e
d®fd¯e
d°fd±ee
e e
ƒfed²e
jjfeed³e fd´e d°fdµee
e je
j!ƒfd¶ej"fd·ej"fd¸e#j$d¹fdºe#j%d¹fd»e#j&d¹fd¼e#j'd¹fd½e#j(d¹fd¾ed¿fdÀedÁfdÂefdÃe)dÄfdÅe)fdÆe*fdÇe)fdÈe
fdÉe
fdÊejdËfdÌe fg+dÍejfd~ejdÎfdÏejdÐfdÑejfgdÍejfd~ejdÎfdÏejdÐfdÑejfgdwe fdÈe
j+dÐfedЃgdwe fdÈe
jdÐfedЃgdwe fdÒe
jfdÃe)dÄfeedÈe
j,dÐfedЃgdÓe
jfdÔe
j-fedЃgdÕe
dÐfdÖe
dÐfedЃgdÀedÐfd×ej.fdØefdÙefgdÚej.fe/dÁƒgdÀedÁfdÛejdËfge/d܃dÝejdÐfdÞejfgdߜ
Z0dàS)ærz\
    Lexer for the Rust programming language (version 1.47).

    .. versionadded:: 1.6
    ZRustzhttps://www.rust-lang.org/z*.rsz*.rs.inZrustÚrsz	text/rustztext/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Ú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)\bzself\bzmod\bÚmodnamezlet\bzfn\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}\}|.)'z0b[01_]+Ú
number_litz	0o[0-7_]+z0[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_]*zb"Ú
bytestringú"Ústringz(?s)b?r(#*)".*?"\1ú'Úlifetimez\.\.=?z
[{}()\[\],.;]z[+\-*/%&|<>^!~@=:?]z[a-zA-Z_]\w*zr#[a-zA-Z_]\w*z#!?\[z
attribute[ú#z[^*/]+z#pushz\*/z#popz[*/]ú&z
(static|_)z
[a-zA-Z_]+\w*z[ui](8|16|32|64|size)zf(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	[^"\]\[]+)
Úrootryr{rzr£r¤r¥r«r¦r©r§r®z
attribute[N)rrrrrrrrrrrrrrr r!r")$r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrrErF)2rGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[rr\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrw)r|r}r~rr€rr‚rƒr„r…r†r‡rˆr‰rŠr‹rŒrrŽrrr‘r’r“r”r•r–)r—r˜r™ršr›rœrržrŸr r¡r¢)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚ	mimetypesrr
ÚTypeZ
keyword_typesrZBuiltinZbuiltin_funcs_typesZFunctionZMagicZbuiltin_macrosrZPreprocrrrZDocÚSingleZ	MultilineZReservedÚConstantZPseudoZDeclarationrrZLabelZCharr
ZBinÚOctZHexZFloatZIntegerr	rÚ	NamespaceZClassÚ	AttributeZEscaperÚtokens©rÀrÀú8/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/rust.pyrs




















N)r³Zpygments.lexerrrrrrZpygments.tokenrrr	r
rrr
rrÚ__all__rrÀrÀrÀrÁÚ<module>	s,