U
    luf                      @   sf   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 deZdS )z
    pygments.lexers.rust
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for the Rust language.

    :copyright: Copyright 2006-2023 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                -   @   s  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de
jfZe	dddejfZe	dddejjfZdejfed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de
fe	d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g+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
    ZRustzhttps://www.rust-lang.org/z*.rsz*.rs.inZrustrsz	text/rustztext/x-rust)u8u16u32Zu64Zu128i8Zi16Zi32Zi64Zi128ZusizeisizeZf32Zf64charstrboolz\b)suffix)$ZCopyZSendSizedZSyncZUnpinZDropZFnZFnMutZFnOnceZdropZBoxZToOwnedZCloneZ	PartialEqZ
PartialOrdZEqZOrdZAsRefZAsMutZIntoFromZDefaultIteratorZExtendZIntoIteratorZDoubleEndedIteratorZExactSizeIteratorOptionZSomeNoneZResultZOkZErrr   ZToStringZVec)2ZasmassertZ	assert_eqZ	assert_necfgcolumnZcompile_errorconcatZconcat_identsZdbgZdebug_assertZdebug_assert_eqZdebug_assert_neenvZeprintZeprintlnfileformatZformat_argsZformat_args_nlZ
global_asmr   Zinclude_bytesZinclude_strZis_aarch64_feature_detectedZis_arm_feature_detectedZis_mips64_feature_detectedZis_mips_feature_detectedZis_powerpc64_feature_detectedZis_powerpc_feature_detectedZis_x86_feature_detectedlineZllvm_asmZ
log_syntaxZmacro_rulesmatchesmodule_pathZ
option_envpanicprintZprintlnZ	stringifyZthread_localtodoZtrace_macrosZunimplementedZunreachableZ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awaitZboxconstZcrateZdynelseexternforifimplinZloopmatchmoveZmutZpubrefreturnZstaticsuperZtraitZunsafeZusewherewhile)ZabstractZbecomeZdofinalmacrooverrideZprivZtypeoftryZunsizedZ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	[^"\]\[]+)rootr0   r2   r1   rI   rJ   rK   rQ   rL   rO   rM   rU   rR   N)1__name__
__module____qualname____doc__nameurl	filenamesaliases	mimetypesr   r
   TypeZkeyword_typesr   ZBuiltinZbuiltin_funcs_typesZFunctionZMagicZbuiltin_macrosr   ZPreprocr   r   r   ZDocSingleZ	MultilineZReservedConstantZPseudoZDeclarationr   r   ZLabelCharr   ZBinOctZHexZFloatZIntegerr	   r   	NamespaceZClass	AttributeZEscaper   tokens rh   rh   8/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/rust.pyr      s  









Y









 N)rZ   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   rh   rh   rh   ri   <module>   s   
,