
    |e                      l    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y)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                   H   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j0                  fdej0                  fdej2                  fdej0                  dfdej0                  dfdej4                  dfdej(                  f e	dd      e
f e	dd      e
j6                  fde
j8                  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jB                        fd-ejD                  fd.ejD                  fd/e#jH                  d0fd1e#jJ                  d0fd2e#jL                  d0fd3e#jN                  d0fd4e#jP                  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j4                  fdej4                  dEfdFej4                  dGfdHej4                  fgdDej0                  fdej0                  dEfdFej0                  dGfdHej0                  fgde fd?ejV                  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jX                  dGf edG      gdJej                  fdKejZ                  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Z0yW)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      sG   
 D
&C#ItnGm,I   ll$M
 ! "  ll$  " #" ]]((#*N. w/FO	
W
JW
 Z W
 &**%	W

 "6::.W
 7>>*W
  \:W
 fjj,/W
 W&&	2W
 27??CW
  I  	! #*	+W
&  L!")"2"24'W
,  0 01-W
. ++,/W
0 w	*1W
2 w**+3W
4 gz*5W
6 +GZ@7W
8 *8GT7+KL9W
: ;W
< 4<<../=W
@  AW
B CW
F dOGW
J $
+KW
N 9gt

;=OW
V1[[WW
\1[[]W
f &**l3gW
j 6::|4kW
n #FJJ=oW
r34:LLsW
x fnnl;yW
~ FL)W
@ 68$AW
B #F+CW
H 8Z(IW
N !OW
P {+QW
R $X.SW
X d#YW
\ %]W
b w5cW
l 4LmW
r ))*W&&0W&&/g''(	
 

#VZZ)VZZ(fjj!	
 TNdnnf5FO
 TNdmmV4FO
 TN7>>"8Z(djj&1FO
 DLL)t~~.FO
 &w7'6*FO
 66"-.4mm= FO
 -fmm<H

 68$GOO\2

 &'GOOV,7??+
o\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      s9    I H$ $ $ -M
 Mr   