a
    ;@b                     @   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-2021 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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#d/fd0e"j$d/fd1e"j%d/fd2e"j&d/fd3e"j'd/fd4ed5fd6ed7fd8efd9e(d:fd;e(fd<e)fd=e(fd>efd?efd@ejdAfdBefg+dCejfdejdDfdEejdFfdGejfgdCejfdejdDfdEejdFfdGejfgdefd>ej*dFfedFgdefd>ejdFfedFgdefdHe	jfd9e(d:feed>ej+dFfedFgdIejfdJej,fedFgdKe	dFfdLe	dFfedFgd6edFfdMej-fdNefdOefgdPej-fe.d7gd6ed7fdQejdAfge.dRdSejdFfdTejfgdUZ/dVS )Wr   z\
    Lexer for the Rust programming language (version 1.47).

    .. versionadded:: 1.6
    ZRustz*.rsz*.rs.inZrustZrsz	text/rustztext/x-rust)u8u16u32Zu64Zu128Zi8Zi16Zi32Zi64Zi128ZusizeZ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IntoZFromZDefaultIteratorZExtendZIntoIteratorZDoubleEndedIteratorZExactSizeIteratorZOptionZSomeNoneZResultZOkZErrr   ZToStringZVec)2ZasmassertZ	assert_eqZ	assert_neZ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matchesZmodule_pathZ
option_envZpanicprintZprintlnZ	stringifyZthread_localZtodoZtrace_macrosZunimplementedZunreachableZvecwriteZ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elseZexternforifimplinZloopmatchmoveZmutZpubrefreturnZstaticsuperZtraitZunsafeZusewherewhile)ZabstractZbecomeZdofinalZ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	[^"\]\[]+)rootr&   r(   r'   r=   r>   r?   rE   r@   rC   rA   rI   rF   N)0__name__
__module____qualname____doc__name	filenamesaliasesZ	mimetypesr   r
   TypeZkeyword_typesr   ZBuiltinZbuiltin_funcs_typesZFunctionZMagicZbuiltin_macrosr   ZPreprocr   r   r   ZDocSingleZ	MultilineZReservedZConstantZPseudoZDeclarationr   r   ZLabelZCharr   ZBinZOctZHexZFloatZIntegerr	   r   	NamespaceZClassZ	AttributeZEscaper   tokens rV   rV   3lib/python3.9/site-packages/pygments/lexers/rust.pyr      s  









Y









 N)rN   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   rV   rV   rV   rW   <module>   s   
,