a
    U_/                     @   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-2020 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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	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d.e j"d-fd/e j#d-fd0e j$d-fd1e j%d-fd2ed3fd4ed5fd6efd7e&d8fd9e&fd:e'fd;e&fd<efd=efd>ejd?fg)d@ejfdejdAfdBejdCfdDejfgd@ejfdejdAfdBejdCfdDejfgdefd<ej(dCfedCgdefd<ej)dCfedCgdefdEe	jfd7e&d8feed<ej*dCfedCgdFejfdGej+fedCgdHe	dCfdIe	dCfedCgd4edCfdJej,fdKefdLefgdMej,fe-d5gd4ed5fdNejd?fdOejdPfge-dQdRejdCfdSejfge-dQdTejdCfdUejfgdVZ.dWS )Xr   z\
    Lexer for the Rust programming language (version 1.40).

    .. 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SendSizedZSyncZUnpinZDropZFnZFnMutZFnOnceZAsRefZAsMutZIntoZFromIteratorZExtendZIntoIteratorZDoubleEndedIteratorZExactSizeIteratorZOptionZResultZBoxZToOwnedr   ZToStringZVecZCloneZCopyZDefaultZEqZHashOrdZ	PartialEqZ
PartialOrdr   ),ZdropZSomeNoneZOkZErrzasm!zassert!z
assert_eq!z
assert_ne!zcfg!zcolumn!zcompile_error!zconcat!zconcat_idents!zdbg!zdebug_assert!zdebug_assert_eq!zdebug_assert_ne!zenv!zeprint!z	eprintln!zfile!zformat_args!zformat_args_nl!zglobal_asm!zinclude!zinclude_bytes!zinclude_str!zline!zlog_syntax!zmodule_path!zoption_env!zpanic!zprint!zprintln!z
stringify!zthread_local!ztodo!ztrace_macros!zunimplemented!zunreachable!zvec!zwrite!zwriteln!z#![^[\r\n].*$basez\nz\s+z//!.*?\nz///(\n|[^/].*?\n)z	//(.*?)\nz/\*\*(\n|[^/*])
doccommentz/\*!z/\*commentz\$([a-zA-Z_]\w*|\(,?|\),?|,?))asasyncawaitZboxZconstZcrateZdynelseZexternforifimplinZloopmatchZmoveZmutZpubrefreturnZstaticsuperZtraittryZunsafeZusewherewhilezmacro_rules!)ZabstractZalignofZbecomeZdofinalZmacroZoffsetofoverrideZprivprocZpureZsizeofZtypeofZunsizedZvirtualyieldz(true|false)\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)(\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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\[z\(
attribute(attribute_commonz\];?z[^"\]]+z\);?z[^")]+)rootr   r   r   r2   r3   r4   r:   r5   r8   r6   r>   r;   r=   N)/__name__
__module____qualname____doc__name	filenamesaliasesZ	mimetypesr   r
   TypeZkeyword_typesr   ZBuiltinZbuiltin_typesZbuiltin_funcs_macrosr   ZPreprocr   r   r   ZDocSingleZ	MultilineZReservedZConstantZDeclarationr   r   ZPseudoZLabelZCharr   ZBinZOctZHexZFloatZIntegerr	   r   Z	NamespaceZFunctionZClassZ	AttributeZEscaper   tokens rJ   rJ   6/usr/lib/python3/dist-packages/pygments/lexers/rust.pyr      s  		










U











 N)rC   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   rJ   rJ   rJ   rK   <module>   s   
,