Files
boc/aamos-ledger-rust/target/debug/deps/libsynstructure-0f7e11becc0ba901.rmeta
T

768 lines
230 KiB
Plaintext
Raw Normal View History

rust
M#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0Áª C2ð¬ZoK[Ôw-OFÕ-3fa974008d36919aÁrustc_literal_escaperÁâÖ Ï+µãª–ñÉè'â9-e7b5d0e401adce12ÁsynÁíÀ¶U+ þçÍ®i°w-571cdc4d6588dcd9Á proc_macro2Áµ³8‰D̘ P³Ýò¼ñ
-de5ca8513510e847Á
unicode_identÁžìëÞ¥û¸sÜMÓçr-97a90cd3b511d6dfÁØ P2éûèôÁÖt„Å=$…-ec43f8d935797717ÁtestsÁ,Ü€$Ñ€Àª  
  
 !"#$%&'()*+macrosÁ///////// decl_deriveÁ/decl_attributeÁ/ test_deriveÁ; to_tokensÁ
generics_fuseÁfetch_genericsÁ>'aÁmerge_genericsÁget_or_insert_withÁA¥AD² Fë FastÁFò
Freferenced_ty_paramsÁ
get_ty_paramsÁKBoundTypeLocatorÁLë L LKPë P visit_identÁPvisit_type_macroÁTë Tæ V TbindingsÁT bindings_mutÁTÆ
Tomitted_bindingsÁTò
\ \ T constructÁ__¥_ _ TeachÁdd£d TfoldÁhhšh£h TfilterÁmT drain_filterÁoTremove_bindingÁT bind_withÁrT binding_nameÁtT×
wë wæ wtry_newÁz wÀw variants_mutÁwÆ
womitted_variantsÁwñ£wŽƒƒšƒ£w each_variantÁ£w²ŠwÆŒŒ wadd_where_predicateÁw
add_boundsÁwfilter_variantsÁwdrain_filter_variantsÁwremove_variantÁwõwŒ˜w×
wadd_impl_genericÁwadd_trait_boundsÁœ œ ž wunderscore_constÁw
bound_implÁ¡¡¡wunsafe_bound_implÁ¤¡¤w unbound_implÁ§¡§wunsafe_unbound_implÁª¡ªw
impl_internalÁwgen_implÁ® wgen_impl_parseÁ° parse_prefixÁunpretty_printÁ²¥trim_start_matchesÁ MacroResultÁµ into_resultÁµ into_streamÁ¸°¸Ã»°½¥½° AddBoundsÁÀBothÁÁ
ÀFieldsÁÃ
ÀGenericsÁÅ
À©Ç
À__NonexhaustiveÁÉ
Ë× 
 σ 
ÒÔÖÖ§×ù BindStyleÁÙMoveÁÚ
ÙMoveMutÁÜ
ÙRefÁÞ
ÙRefMutÁà
â׿ƒéëÖí§îù BindingInfoÁðë ðbindingÁðstyleÁðÂðð
seen_genericsÁðÖøë ø×ûë ûƒþë ë ƒë ƒÖë §ˆù
VariantAstÁŠë ŠattrsÁмŠËŠ discriminantÁë ×ë  ë !ë ƒ"šë #œë œ$Ÿë ŸÖ%¢ë ¢§¤ù VariantInfoÁ¦ë ¦prefixÁ¦ü¦Æ
¦¦original_lengthÁ&­ë ­×'°ë °ƒ(³ë )µë µ*¸ë ¸Ö+»ë »§½ù StructureÁ¿ë ¿À¿ò¿Æ
¿
extra_implÁ¿extra_predicatesÁ¿Ÿ,Çë Ç×-Êë ʃ.Íë /Ïë Ï0Òë ÒÖ1Õë Õ§×ù°° ° <
<
=
=
>
@
@
A
D
E
E
H
I
J
K
K
R
R
S
X
Y
Z
[
\
_
_
d
d
d
h
h
h
m
m
m
o
o
o
q
r
r
r
t
t
v
|
}
~




ƒ
ƒ
ƒ



Š
Š
Š
Œ
Œ
Œ












˜
˜
š

œ
œ
œ
 
¡
¤
§
ª
­
®
®
°
°
±
´
Ì
Ì
Ì
Ð
Ó
Ó
Õ
×
×
ã
ã
ã
ç
ê
ê
ì
î
î
ú
ú
ú
ý



ˆ
ˆ




ž
ž
¡
¤
¤
¯
¯
¯
²
·
·
º
½
½
É
É
É
Ì
Ñ
Ñ
Ô
×
×
µ¿cÀÁšÃīů¾ÇÈ©ÉÊàÓÈ s^ÜOŠ ›(Û›(Ø›(Ðì›(µß›(›(›(še›(¿cÙÚÛÜÜÝíÞßàá§ÄÊ£‰#+Š Ó)ÛÓ)ØÓ)ÐìÓ)µßÓ)Ó)Ó)šeÓ)cÓ)¿cððóòŽóôÂõöº÷ÖTDÙaМ+ñë Ø„+Ðì„+µß„+„+„+še„+cððóòŽóôÂõöº÷ÖTDÙaМ+ñ8¿cŠŠÎŒè¼ŽË$¡HÈákƒ"ë Š “-Û“-Ø“-Ðì“-µß“-“-“-še“-¿c¦¦¨¨Ã©üªÆ
«¬é?
˜R8‰ë ر.Ðì±.µß±.±.±.še±.çKLLN O§Ë9 Z2*ë ë ¿c¿¿÷ÁÀÂòÃÆ
Ĩ ź ÆŸO»›±±Ÿ^5ë Ø“0Ðì“0µß“0“0“0še“0µÁÁÂçÈ é’O¾µªªç«innerÁ¬_markerÁ§[Ƶֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¥ÀÀErrorÁÁmessagesÁ¡ÿÏÂ.ù‚ËÀâÙøðŠ­¦Ç¿ÍÀäÙŠÎÀåÙŠÏÀæÙûðŠ°¦Ê¿ÑÀèÙþ𚊳¦Í¿ÒÀéÙ𜊵¦Ï¿ÔÀëك🊸¦Ò¿ÖÀíÙ𢊻¦Õ¿;ÙDðPÁ»ª½Ö¿¿cÍŠ *ÛØÐì*µß**še*c*çK µ (Ö0(.6 Ú0NV”7iq”79Œ”7TŸ§”7o¼Á
êcÒ×ßÛ0ÌöÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ Èœ2 O˜éBLx (ƒ  c cˆ¢cµ
 `£cbufÁ `àB¤GS
Ê”7ÒÚä±òýž8(
ã0
è0Ð"(-Ô94=GH ê0 ó0Ó;@FQÔ9XÔ9_®:f®:mv¹
ƒ __self_discrÁœ __arg1_discrÁ³» ÷0Õ õ0£9Ô9(
ù0!
›e®:ù8=E
ý0×\a£9mÔ9t ƒ>~®: ®:˜º¥Î;²ºú=Ã(Œ3&,4”73JR”7em”79ˆ”7T¢ž8®³»‘3ãÒÕ8Ý Ó)çß9î”7õ®:ü±ž8((™3ž3ç"Ó)-ƒA4=GH 3©3ê;@FQƒAXƒA_®:f®:mv¹
ƒÎ;å;£­3ì«3£9ƒA( ¯3!ú=,19³3îPU£9aƒAhÌ>o®:vÝ>}ºÎ; ¨ú=±(\ÙR ú ”7\ÖSóóIdentÁô†1õ–1‰;~NN ¿c \±T
Ó) 
êF€\ÌT  Þ8Þ8FieldÁß8èà8Æá8
mutabilityÁâ8¼ã8 colon_tokenÁä8´mEHÂu\  êF°\«U Ï<Ï<¾Ð<lt_tokenÁÑ<paramsÁÒ<gt_tokenÁÓ< where_clauseÁ?ÑOÒXº£U|
êFÀ\ÇUªBªBö­B€9÷<®B÷<9)
-ÜnLçEçEèEGlobalÁ ¿±‡§í#yêF`\ÃVF êF êF  
±¾ 
êFÓÜ ”7ç 
”7þ
ƒd"(1\ÞRúIOVÕ8c ððóòŽóôÂõöº÷ÖTDÙaМ+ñÍß9ÕûEݰKå êFFþÐMêFã  FîêFŽƒAêFz ¬GêF÷ ÂHêF~ ÎIêF  FÕN”7ˆÙKš±¨Ñ ¼ÂË÷MêF¬ƒAêFLšNêF0­NêF¢ÀNêFÓNêFïK ~
”7| ”7 ”7ž §
”7² 7 @”7K
 » ”7”7
âñú ûE
ýE”7Š”7”7v”7~”7ð”7ø”7t”7|”7û”7m]ÖS F
Ù F,4 ]±TÓ)
ÙÓ),5€]ÌT¬G°]«U ÂH À]ÇU ÎI
ÙÎI ,
5`]ÃV
F
(]àR ð
 ]åR]äRHýVÎLaÌLh Fy÷MÓ)QƒAY¬G(šN0ÂH­N ÎIÀNFßÕNæÏÙþRì¶Sº
Ù¬G
ÙÂHy¯T_
ÙF2ÎIã Fè
^ÖS F F',
·ß F FAFNT  ^±TÓ)Ó)',
·ßÓ)Ó)AFNT €^ÌT
¬G ¬G',
·ß¬G¬G
A F NT  °^«U
ÂHÂH',
·ßÂHÂH
AF NT  À^ÇUÎIÎI',
·ßÎIÎIAF NT
`^ÃVFF#4 ;CO ^ðRH^çR
ÌLÌLt÷M|÷M)ƒA1ƒA9ÞšNæšNî­N­N£HÀNPÀNXFþF¦¹
³½ÁW£X½…YaçYÉZ©_ôR_òR &£92ÌL9BL`ÖS F
e Fù2 `öRB `±TÓ)
eÓ)ä^/C<€`ÌT¬G
›e¬Gä^/ƒ<°`«U
ÂH
eÂHä^
/Ã <À`ÇU ÎI
eÎIä^ / =``ÃV
F
eFä^
/D=`úRˆd£9pÌLx ä^ƒ£9Â÷MÊ£9ŒƒA£9\šNd£9,­N4£9üÀNÕNÊãºñüÛ^=¡_ýá_á`á`O¢a(fßg 
”7Ðf©h ”7 
¥8¥8 AttributeÁ¦8 pound_tokenÁ§8¨8
bracket_tokenÁ©8ûØ ôq&L}kŽêF fÉh ”7 ÷M& êF°fãh
 ”7  È8É8Ê8¦Ë8ˆÌ8Í8UnnamedÁÎ8ˆÏ8Ð8UnitÁißUÁÿ݆;  êFøfÿh/
  ”7 Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙŒ2Œ2}2spansÁ’©?õ$^"Ô€9(99Mƒ9ˆ„9…9AssignÁ†9ˆ‡9ˆ9AsyncÁ‰9ˆŠ99AwaitÁŒ9ˆ9Ž9BinaryÁ9ˆ99BlockÁ9ˆ“9”9[•9ˆ9—9CallÁ˜9ˆ™9š9CastÁ9ˆœ99ClosureÁ ž9ˆŸ9 9h
¡9ˆ¢9£9l ¤9ˆ¥9¦9¸F §9ˆ¨9©9ForLoopÁ
ª9ˆ«9¬9GroupÁ­9ˆ®9¯9IfÁ°9ˆ±9²9IndexÁ³9ˆ´9µ9InferÁ¶9ˆ·9¸9LetÁ¹9ˆº9»9LitÁ¼9ˆ½9¾9LoopÁ¿9ˆÀ9Á9MacroÁÂ9ˆÃ9Ä9MatchÁÅ9ˆÆ9Ç9
MethodCallÁÈ9ˆÉ9Ê9ParenÁË9ˆÌ9Í9PathÁÎ9ˆÏ9Ð9¹Ñ9ˆÒ9Ó9RawAddrÁÔ9ˆÕ9Ö9Ê×9ˆØ9Ù9RepeatÁÚ9ˆÛ9Ü9ReturnÁÝ9ˆÞ9ß9àà9ˆá9â9ê ã9ˆä9å9TryBlockÁ!æ9ˆç9è9ï"é9ˆê9ë9UnaryÁ#ì9ˆí9î9UnsafeÁ$ï9ˆð9ñ9VerbatimÁ%ò9ˆó9ô9WhileÁ&õ9ˆö9÷9YieldÁ'ø9ˆÍ•Tº`dǽ7DêFÙß
ÿc
ñ÷èîV\
, 2
Ÿ¥0fägHÕ8T ŠŠÎŒè¼ŽË$¡HÈákƒ"¤ß9¬”7´”7§êF¯ Úcº”7$êF, ÷M7”7 êF ®e”7êF  Èf¡¾s©5±CNërêFE†sêF¯¡sêF¼sêFðˆqx(hìghñg"'-39ýqEûqLU_ Ði©hÚcÚc',
·ßÚcÚcAFNT iÉh÷M÷M',
·ß÷M÷MAFNT°iãh
®e ®e',
·ß®e®e
A F NT øiÿh/ Èf
Èf(-
·ßÈfÈf B
GOS[giügžHióg
ûqûqÈërÐërØ}†s†s2¡s:¡sB¾sè¾sïw¹
ŽÅu>§vâ‰wìw*j€h¡jþg£9&ûq-6@Ðk©hÚc
eÚcä^/ kh? kÉh÷M
e÷Mä^/C<°kãh®e
›e®eä^/ƒ<økÿh/ Èf
eÈfä^ 0Ä=k†h¤ã
£9îûqõïaü£97ër?£9†s £9Ô¡sÛ¾s¢:ºHSòzµ{Tõ{¶|à(lÄj  ”7èl‰k ”7Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ÷MkêFðl¬k ”7 ªBªBö­B€9÷<®B÷<9)
-ÜnLÎLŠJc êF˜lÐk
 ”7 ýq&  êF°lék
  ”7ÂH&êF°lËl ”7F&2êF³¹
d ËÑÂÈSY
ì ñ
ÀÅlÉj¯(Õ84 ¦¦¨¨Ã©üªÆ
«¬é?
˜R8‰ß9”7¥”7˜êF  ¸~«”78êF@ ³K”7àêFèûqð”7ÂêFÊ­NÒ”7¤êF¬ÓN´ÕN¼5±CNºƒêFFÕƒêFÔûqêFi­NêF;ÓNêF
Àƒèm‰k¸~
Ù¸~,4ðm¬k³
Ù³,4˜mÐkýq
Ùýq,5°mék ÂH °mËl F
(mËj ¦
mÐjmÏjE²S »‚_¹‚g¸~Wºƒ`³0Õƒ9ýq ûqÂHà­NçFÎÕNվȯ…»ç…ŠŸ†YàV&òV ³À èn‰k¸~¸~',
·ß¸~¸~AFNT ðn¬k³³',
·ß³³AFNT ˜nÐk
ýq ýq',
·ßýqýq
A F NT  °nék
ÂHÂH',çY
7< DJ  °nËlFF#4
;CO
nÛj·HnÒj
¹‚¹‚
ºƒºƒÁÕƒÊÕƒÓxûqûqˆ-­N5­N=FíFô¹
¡«¦‰œˆŠAêŠæçYŠoßjºoÝj £9,¹‚4=Gèp‰k¸~
e¸~ä^/ páj?ðp¬k³
e³ä^/C<˜pÐkýq
›eýqä^/ƒ<°pék
ÂH¡`
&º 3°pËl F¢a &ñ3påj½ £9¹‚%ïa-£9iºƒr£97Õƒ@£9ûq£9Ø­NßÕN¯~ºŒºÖýš½a¡`'¢aö”Ö¡„Ö¡
\ˆ¢¸~dù¡ 4þ¡¸~Û÷Mù‹³%ù‹³#§“ #–þ þ  ùŽúý0ÙŽúý
d÷M I <
0a˜š ùù™,ñù™
î5
)˜Ž ù‹˜Œ4¿¢ü¢¢$Lµ¢
dó1B3Œµ¢ Æ¢tÚ¢$ýq÷M4ó¢üÚ¢ Lé¢
d F$E3Œé¢„‹£ýq®e%$%´…£
 H,ʦ&&¦×8×8 FieldsNamedÁØ8 brace_tokenÁÙ8namedÁ Ö<ÝJ†fxüü
PunctuatedÁÿ†1ââ zå»Ly®G…1…1CommaÁ†1£fȯm@…U½¼ì¦¬ì¦
´æ7æ7BraceÁç7spanÁaq)õFï)<
Q<ê£''×dÚ8Ú8
FieldsUnnamedÁÛ8 paren_tokenÁÜ8unnamedÁœ*³]9ؘ¼Ž¤¬Ž¤
´88l‘8ÿ˜\öèµW5ýÛ IM4¯¤ü·¤Ú b¥ ó1£9  ؘ ¸œüޤD¦¤
¢8b¸œ¾œÇœÝœ
·¬ü¦¤ìù4§ ü•§º"#! c¸œ¾œÇœÝœ"#üì¦äD„§
ø7c¸œ¾œÇœÝœ !ˆü„§Ì ò© ø©ù©£Ž DTü½ ¼ ŠÝ_%üÊ¡¯ü”¢=ù‹¦~üÊ£×ü®¦±(ó1\ë ¹‚,Ô ¸œDÛ ó1,Ρ®:»÷M°£9ž ó1Ïó1×ó11‹ª£9s†s¢ ó1£9EÌ¡cÌ¡£9ŽÌ¡©¡sn®:dª£áœò£9¨ ¹›¹›Ì¡B;ßœDèœMáœ}£9; 癥癮̡±Çžªßœ³èœ¼÷MC®e®e$®e,efuncÁl¿pÃ_sÁU ý™îº—<5§“ž§“>ã”÷¬•µŠ–Xó1+÷–øá™³›ÉŠûÁžK¸œðó1[ó1Îó1¸œ <ã¤ßœœã¤Lë¤
ÊLáœ>\ë¤üã¤L÷¤
¨NÐÐIterÁÓ†1âÆÙë³3Q+®G\÷¤ø¦ã¤ 
ÊL™­™­ EnumerateÁ­ù9œ­ü‚9¿Ê-hðärŒ¦Ælpø¦Ѥ®šŸ
ûMí¦±º¾ Ê Ü Ö¤
ÛF¬GF,Ù¤ ÛΨ¬G$¥èœt¥ 
-
•"¸œ¬GFF8 A¦þ¥Y
Ü¥L¬¥
d¾œ
ƒ ¶¥ 
d¬¥ ¸¥ ù‘¦ˆ%ù‘¦ˆ#§“ #a’Ø ù’º +é’º 
ð5
)‚‰ù‘‹ˆƒ´Ò¥LܥЖ- æ¥dÜ¥ 襑¦Tbb §ù‘™ˆu£9º¤Ì¡ ¸¤í¦]í¦ÈŒ¦ÿí¦xÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙΨÆ í¦Ò®:]F¬Gè£9Y ¾œÌ¾œÕ²©Þ£9¦œ¡Åó1Íó11‘ˆ£9 Ì¡>ߜᜤ 蜭 ¿ý™­
ߜ٢$ß èœù£´Í
¹ ƒ£
×¥k†¦Dç¦éû§ð¨©Åí¦€ªl¾œ=§“1Œ«üŠ–¯ó1ó1Šó1b¾œkí¦È
_ref__unnamedÁ
_ref__funcÁ,Á§ßœŒÁ§Lǧ×¥8\ǧìÁ§LÓ§†¦?\Ó§è§Á§
ç¦>"ø§¯§Ž=LQû§]fj v ˆ ´§
ÛΨF,·§ ÛΨ¬G\ù§
 Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ FÄù§L…¨
d‹´
w ¨  d…¨§¼©ù“¦ˆ%ù“¦ˆ#§“
#a”Ý¢ù”¿¢+锿¢
ì5 )‚‰ù“‹ˆƒ´«¨Lµ¨Š–- ¿¨ dµ¨ Á¨
$Û¨ èœtÛ¨ 
-¨© 9+48ÜÛ¨Lꨀª] ô¨dê¨ ö¨ù•¦ˆ%ù•¦ˆ#§“#a–Ø ù–º +é–º Œ«3'‚‰ù•‹ˆƒ´©Lš©Š–- ¤©dš© ¦©Ï©Â¾sc
ù“™ˆuù•™ˆu!£9˜§ÇžÀÌ¡ –§í¦í¦ºŒ¦ëí¦¤Ô­­¢®®:F8¬G#£9³ ‹´£9휡 ó1ó11“ˆ£9gÌ¡£9ήØ¾œá²©ê£9Úœ¡ùó1ó11•ˆ£9RÌ¡pßœÇáœÐèœÙ¿º—õߜ٢èœùÍ´K
Â: ƒ£ïƒ£¡Q×¥a†¦@ç¦û§&å´
í¦Û§“ÎòµŠ–Ló1!¨©€ªÅ¾œ§“Œ«ZŠ–ó1äó1êó1¾œÉó1jó1í¦L _ref__namedÁ²°T–²›²
\$–²,›²”¹²„¹²§“tä²³ä²

ÊLÕƒ2%)ø¨Õ²¦D SX
ûMÄlÄl–¥Çlµ ™lÈl
end_or_lenÁ™lÉl1™lŒœjSžÎL ¼ÅÉ
Õ
ç<Ù² ÛÌL¼³¬³á™ ù—³%ù—³#§“
#H
L¢³ü­³B  g¸œ£Çœèœ ÌLü³oD™³
ø7g¸œõÃÇœ‚Ä
èŽ ü™³W–þþùšúý0ÙšúýŠ–E8 ,¸ùœí·/ùœí·!
 6 *Åžùžßž# ÉùŸ„Š%ùŸ„Š#§“
#ÓŠÚŠ ùŸ·Š+ÙŸ·ŠŠ–E 8,ŸðŠùžšžéžšž
ëßÑùŸé‰<˜Ž ¢´#£´ ŸûŠ£Žiyü„±Ÿ düŒ²üª²ùOVù—¦~ùŸ÷‰!ó1\ª±¹‚,–±¸œ,±ó1²ó1D®²¾ÁéÕƒ¾ÁûÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÌLH ¾ÁT®:&ÌLw£9±ï¢nç™wÌ¡,­Ä%èœ.‡Ä7ó11—ª£9œ¡Ì¡­£9[Ì¡y£9Ì¡GÉÊË ParenthesisÁÌÍñ˜ÎÏBracketÁÐѩҌï±%l¢ó1Ôó1û‰£9Wœ¡Ì¡~Ó±Öò
ÚbodyÁàùÊŽé ƒ£9ƒ£ª‡Àg§“?êÀ¸Áá™§“þ§ÄrŠ–éÅŧ“qŠ–*ÕÇîó1¡ó1§¸œ®ó1wó1gó1Àó1ƸœÍ Ƴèœ<ȳ‡Ä TƳ  I
•"¸œÌL`3;?ÔÆ³Lѳ
dõÃi$Û³|ѳ à³ï³g
£9³³­Ä*Ì¡$®³£9 õÃóõÃûÁÐèœa‡ÄjÌLr“ÍK± ¡±èœŽ‡Ä®·ÐdøÐõÃïõÃõ_ref__fÁ
_ref__bindingÁTæ¼ë¼‡À$æ¼,ë¼l…½³¤…½
ë!³/"($“½
“tÎLW4“½ù „Š%ù „Š#§“
#) ÓŠ ÚŠ

ù ·Š+Ù ·Š
dš L
? 3 ðŠ 
ü®½H l¸œ·Õ£ó1ÌLó1èœü…½r$š½
óN¾Áó1l¸œ·ÕŠÖ“Ö¢Ös ù é‰üš½]ù¢³%ù¢³#§“#–þþù¥úý0Ù¥úýŠ–E8,¸ù§í·/ù§í·!éÅ4 (Åžù©ßž# Éùª„Š%ùª„Š#§“
#ÓŠÚŠùª·Š+Ùª·ŠŠ–E8 ,ªðŠù©šžé©šžÕÇÝÏùªé‰ :¢˜Ž Ÿ¾
#3 ¾ ªûŠ ¢£Žy  ûŠ
Ÿ¯¿ü¦»úhüܼÄüú¼¦ù ÷‰ù¢¦~ùª÷‰ó1\Ø»¹‚,»»·Õ$»¸œ,Ë»ó1à¼ó1$þ¼¾ÁÒ 
ÎLÞÕƒýó1vó1û‰£9c ·ÕÌ¡ÌÖ9èœBó1ª£9Yœ¡Ì¡£9.Ì¡L£9UÌ¡ËÌó1Fó1û‰£9Çœ¡÷Ì¡îinitÁ ±#ò
'“Í*ƒ£
ƒ£Øƒ£Šé‡Àj‡Ô1¯Ô8§“ì²Õ¥¿Ö§“»Š–téÅ6§“䊖ÕÇaó1ó1¸œ#·Õ*ó1ãó1Óó1<ó1¹ó1H¸œO·ÕV ̽
èœD̽ .
•"¸œ–Ö
D5=ù¡„Š%ù¡„Š#§“#ÓŠÚŠ ù¡·Š+Ù¡·Š
dŠÖJ =1¡ðŠ õ½ö½ ¡ûŠ3lüĽ2ù¡÷‰ ó1µ½ ÌÖPó1 ¯½ÌL²½ŠÖ Ƚ–Öó1û‰£9 ŠÖ;Ì¡2蜫´^biÁc± ϻ蜽zƒ£sûöá§“ÖÿâŠÖNó17ŠÖ[œÒláȳ¼áÈ4ïÈ
ÞBÎLŠJ¸œ: öÈLïÈ$‚ÉŒÉmüîÇž »‚L“È™çLÿǸœ ŠÈ£9Ž ³¯(±*^ÂæÂLóÖ \¡×¸~¹«¾ ©«¾ 
±BÎL %DÝ×ýqlý×ÂH¤©ØFüÿÖÉ ¦lùØ ³¼ùØ,‡Ù
ˆCÎLŠJî¢î¢ï¢½ +¢ L;V _÷é©Ù 
L‡Ù4›Ù
üùØ)L‘Ù
ËNˆ>ˆ>DrainÁŒ>
tail_startÁ÷<>tail_lenÁ÷<Ž>ù÷<>Á÷<…üò)«§ÎLŠJ³èœ  
ª

Œ‘ÙtØØ 
³lèØ  
³t½Ù t¬Ù³³låÙ  lÕÙ³\³ ÊÙ1³,ýÙ ‡Ú )³ ñÙˆÚ_
o  ü÷Õœ ¬
¼
oBüïÖüÓØµ»‚$¦Ö™çLŽÖ¸œ,™Ö»‚¸~ñ³äýqÃF¥³;³³³÷ëêyÄçèœ$³*³ìÂHœ±ž¹
°other_bindingsÁÍ
self_bindingsÁÂ a
Ðè»ëé"åê°³¤³d¸œ»‚#¸œ*³0³6 ”Æä³ªÆä

ÊLÄç3 %)øª·äUCRW
ûMÜlÜlIterMutÁßlµ ™làlÞÀ™lál–1™lÚ½íDþïl%ÎL¸ ÁÅÑã<»ä Û ÎL ÷ä <ùä
 T֊ 
7·Ð C (
 1$•å žåÔçä Ó)
XŸå:
ü¸ãçr™çLäã™çLÌ㸜,×ã¶óÄç ¶óÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÒô` ¶ól®:>ÒôÓ)a蜊ÁÐsÌL¿±ÁùÃŽæ %ãòã°óê·Ð͸œ¸œlÄï³ÄÄï
÷!³0"(DÒï
”tÎLXTÒïüÄï$LÝï
¨N¶óq\Ýïø«Äï$ 
ÊL™­™­ù¥›­ù‚9œ­ü‚9¿Ê-hðär¶óŒeiø«¯ïyƒ

ûMú
© ²    Ô´ï ÛFÒôF<¸ï
 ÛèûÒô ‰ðl‹ð
¬G¤‰ð  =¨©I+
4$±ð ºð
|֕
 F  
 FH0
 F œð»ðkü´ît §™çLãî™çLË,ÖîúLú¶óá ÓÝíÄç
ú|Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙèûÊ úÖ®:hF Òôô F»èœç²©Í¬Gå±çù5itÁi ŽT
Y ƒùæ«ùíÚù¡‰úx•û¨©J¸œ  Fý¸œ¾ù
ÉûEð¬úªBªBö­B€9÷<®B÷<9)
-ÜnL»‚ŠJTêF°¬¥ú
 
êF ¬Áú  å8å8 DeriveInputÁæ8èç8Æè8¼é8ê8dataÁË‚ÓOqt  êFè¬ÛúªBªBö­B€9÷<®B÷<9)
-ÜnLÔ<Õ<Ö<¡×<ˆØ<Ù<óÚ<ˆÛ<Ü<hÝ<ˆ$=·±èŠJ°
êFø¬þú%ªBªBö­B€9÷<®B÷<9)
-ÜnLá=â=ã=¡ä=ˆå=æ=óç=ˆ^,—‹4ûŠJêF¨¬©û›("êFÄ êF  
ãð°K
 ”7ÙK(.ïK;AGMV¬ÃùÉpv}Õ8Š ¿¿÷ÁÀÂòÃÆ
Ĩ ź ÆŸO»›±±Ÿ^5øß9ûE°KÎMÐM êF  ÎêF¼ ÆêF© ׂµêF9 ÛƒEêF œ…êFø Ô9Ô9 ”7¥ÙK­·±ÅÑ Ó¼ßè̉êFÙà‰êF~ò‰êFb†ŠêF皊êF0®ŠêFïK( ´½”7ȱº”7ÅOX
”7c± º”7Å * 3
”7>
 Þ ”7Ï”7
É$ ûE0ýE8”7À”7È”7«”7³”77”7?”7”7”7î”7ö ð­úÎ
ÙÎ08°­¥ú ­Áúׂè­Ûú Ûƒ
ÙÛƒ 09ø­þú% œ…
Ùœ… 1
:¨­©û
(
Ù(
. 7(­Åù ¿
 ­Êù­Éù
%nÌ|°ˆˆ®ˆÎÎ̉×¢à‰«ׂò‰œÛƒ†Šœ…WšŠ`›(*Ô92  ߎM
Ù
ÙׂßìÙœ…ۃΠ °®¥ú#4
ð®úÎÎ+0
·ßÎÎGLTZ
 ®Áú
ׂ ׂ+0
·ßׂׂ
G L TZ 
è®Ûú
ÛƒÛƒ+0
·ßÛƒÛƒ
GL TZ 
ø®þú%œ…œ…,1
·ßœ…œ…HMU[
¨®©û›(().
·ß›(›(CH PT\h ®ÕùÑÌù®ˆ®ˆŒš_̉h̉qò‰ò‰"Á†ŠÊ†ŠÓršŠ{šŠÔ9#Ô9+±¹
¾ÈΔ÷¶•ž–5‡—Ôí—r¯ÙùÔ¯×ù
"(£94®ˆ<EOð°úÎ
›eÎä^3 °ÛùE°°¥ú
eä^/E< °Áúׂ
›eׂä^3@è°Ûú
Ûƒ
eÛƒä^
3Í @ø°þú% œ…
›eœ…ä^ 4 B¨°©û
(
e(ä^
1U?°ßù×w£9ƒ®ˆŒïa£9ỔÝ£9œà‰¥£9mò‰v£9:†ŠC£9šŠÔ9ÒúºΛV•œלÛžàa¤ž"”¯š„¯š§“tÚšÎÚš

ÊL̉3%)ø­Ëš]CRW
ûMÄlÄl–¥Çlµ ™lÈlÞÀ™lÉl–1™lŒœjSž»‚³¼À Ì Þ<Ïš
Û¹‚4„›¤÷š$ÿš
dèœõÃ
<÷š<
dÿ𬴛
\ 
4–›ü÷š&LŒ›Š– /  ŒŒ› 
ù´³%ù´³#§“ #¿ù¸í¾0ù¸í¾"
õ6 *¸ùºí·/ùºí·!éÅ4
(Åžù¼ßž# Éù½…‡%ù½…‡#§“#ù¼šžé¼šžÕÇugR2´˜Žù´˜Œ4ò›üØ›!L蛊–>/Œè› ù› œ “œ”œ> ´£Ž
Tdü›™ùü£šñêñù´¦~ó1\Á™®ˆ,­™¸œ,´™ó1,§šÊ¡l̉ŒÊ¡~Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¹‚Ì Ê¡Ø®:ª¹‚£9hœ¡ëó1óèœÌ¡Ò£9꜡ó1!ó1ª£9BÌ¡`£9Ì¡.£9ŸÌ¡þËÌôó1âÌ¡gL±O¿SùÀvariantÁï
ƒ£¤ë§“)÷ úÄ¡‡£ùŠ–ó1]§“Q‡¥éÅà§“ŽÕÇlŠ–ó1ݸœÃó1êó1¢ó1¦ó1Û¸œâ¦¦§“tȦÎȦ
÷ -#ø®¹¦d= LQÄ¡ ]fj
v
ˆ<½¦ Û¹‚,ò¦4ù¦Üå¦$í¦
hèœƒÞŠÖ <å¦OEœí¦¬©§
e
4‹§üå¦-L§Š–
/  Œ§ ’§ù¾³%ù¾³#§“ #¿ùÂí¾0ùÂí¾"‡¥4 (¸ùÄí·/ùÄí·!éÅ4
(ÅžùÆßž# ÉùÇ„Š%ùÇ„Š#§“#ÓŠ!ÚŠ"ùÇ·Š+ÙÇ·Š²Õ!E"8 ,ÇðŠùÆšžéÆšžÕÇÝÏùÇé‰:¾˜Žù¾˜Œ4î§#üͧ(Lä§Š–>#/Œä§ õ§ ‰¨ ¨¨N ÇûŠ ¾£Ž¨zŠšüÛ¤µƒü‘¦ÿV]ù¾¦~ùÇ÷‰$ó1\¥®ˆ,ð¤·Õ$÷¤¸œ,€¥ó1,•¦Ê¡ë̉ Ê¡ý멹ª®:繂£9Ýœ¡ió1qƒÞèœÌ¡P£9úœ¡)ó11ó1ª£9À̡ޣ9Ì¡®£9·Ì¡~ËÌtó1¨ó1û‰£9)ƒÞYÌ¡PÌ¡ž?¼ÞC±F¿Jù6²«µ ƒ£Ôƒ£§“¥÷ vÄ¡}ï¯¼Š–@ó1§“ ‡¥ÖéÅœ§“J²ÕÕÇÇŠ–Yó10¸œ·Õó1Dó1ìó1Üó1tó1;¸œB·ÕI&”Ù±„Ù±§“$t„²Î„²
÷ -##ø¯õ±ª>MRÄ¡^#gk w <ù±
Û¹‚l«²³²‡À
<«² #,³²¬«³!! Ѳ
TѲ 
'
•"¸œ¹‚
?4  "=ùȳ%ùȳ#§“
!#–þ þùËúý0ÙËúýŠ–E8  ,¸ùÍí·/ùÍí·!éÅ4  (ÅžùÏßž# ÉùЄŠ%ùЄŠ#§“
 #ÓŠ ÚŠùзŠ+ÙÐ·ŠøÐE8,ÐðŠùÏšžéÏšžÕÇÝÏùÐé‰ :ȘŽùȘŒ4³ üé²+Lƒ³Š–> /Œƒ³ ”³! ž³ " #ùѳ%ùѳ#§“%##¿'%ùÕí¾0ùÕí¾"‡¥'4&(a׸)%ù×í·/ù×í·!éÅ)4((Åž+%ùÙßž#, ÉùÚ…‡%ùÚ…‡#§“-#ùÙšžéÙšžÕÇ+u,g-R*2јŽ$%ùјŒ#$4é³.üϳ!L߳Ж#>./"Œß³ ð³$# „´ Š´‹´>$# Ñ£Ž%#5! ÐûŠ  È£Ž!_ "p #¢$²%ü½°Î üͱ¾ü¡²~üƲYùȦ~ùÐ÷‰ùѦ~/ó1\ë°®ˆ,×°¸œ,Þ°ó1,ѱÊ¡¼̉ÜÊ¡Îë©×¹ªà®:¸¹‚bó1¥²õÃ$ʲ蜉¿£9圡ó1ó1ª£9¯œ¡ß̡֣9Ì¡¢£9«Ì¡rËÌhó1œó1û‰£9‡ÒMÌ¡DÌ¡î£9¾œ¡íó1õó1ª£9Ì¡2£9äÌ¡£9sÌ¡ÒËÌÈó1Ì¡;
£±¦¿ªùg²«å
ò
 “Í ƒ£aƒ£ƒ£Ñ%ž §“ý÷ ÎġՇÀ2ÿ¾Ý§“¡Š–Zéŧ“ÊøÐƒÕÇGŠ–Ùó1°õäó1ª§“އ¥Yéŧ“ÍÕÇ«Š–Eó1¸œó1)ó1áó1ó1Æó1õÃó1 ó13¸œ: ”ѾΰѾ

ÊL Î7(,ø°¾QFUZ
ûMÜlÜlÀòßlµ ™làlÞÀ™lál–1™lÚ½íDþïl%»‚¿ÃÏá<ƾ Û™ç4¿ ´ò¾4ú¾
mèœ <ò¾ 8

tú¾$œ¿ ¥¿¦¿ ü˽ÛŠmt  °ˆLô½ÎÓLܽ¸œ,ç½üÐ߬ÐüÐñÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ™ç? üÐK®:™çu™çSèœn¯±±ù²«¸ #¦Ð³öк¹Ò¯¸œp¸œw ô«ÎÎü«Î: 
÷!Î3
$*DÛÎ
”t»‚\
TÛÎüûÎ&  ޏœ™ç»‚¢Ö ü«Îw÷Î
™Nüл‚ޏœ…×¢ÖÍ~
ü÷Î+ü«Î<´Ï
ÄNâ­â­MapÁå­ùæ­±Å@Iœóë ¶¥üн×θ
L´Ï¬ÝÏ
D…Ð ׂ|§Ð
Ûƒ¼§Ð,·Ðß
.  <·Ð¬ÞМ…ìÞÐ,ôÐ.<ôÐ|•Ñ›(üŽÎ¡ ¿
   ´ÑµÑ ®Ñ 
@ ü–ÍŸŒ°ˆ$ÅÍÎÓL­Í¸œ,¸ÍÎ釨CüÐà 
»‚í¬Ð½×«èœ´³ׂªÛƒˆ†Š¨œ…\šŠ|›(F±˜×
˜ÖoÁÖv¯×éØŸßò»¸œ[ÛƒEÎL¸œp4šÏèœä…ÏdÏ
oèœ<…Ï<¤Ï¡ÏŽÄ»‚„Ï ½×ß™ç<üÎèœó²«± ¼ÍèœêÝ­œÒ $¹ð   l˜ïΜ˜ï¦ï
‹C»‚ŠJ7,¦ïlµïÎ Êï  ¼µï4Ãï
ÞB»‚ŠJ¸œ\KLÃïlÙï
ΜÙïçïäß
. ,çïüÙï! ä‰ð$¡ðüÖïZiÃðü‹î¸ Âð 6ü‡ï¼ ÎÓL¹îÎÓL¥î¸œ °îFT‹ï̉Ó£9\¬Ð¸œþF,̉L£a±c
before_lenÁpåäß3ÌàÒä߸œ÷L†þ ¹Û¾ ©Û¾ 
±B»‚&¬ÕþDýþׂ|ŸÿÛƒ¼Ÿÿ,¯ÿß.<¯ÿ¬Öÿ
œ…ìÖÿ,ìÿ
. 
<ìÿ| ›(ü’þ ¿  l؀μ؀,æ€
ˆC»‚ŠJ÷é<s>÷é±ì€ Læ€4ú€üØ€)Lð€
ËNˆ>ˆ>õéŒ>ƒê÷<>™ê÷<Ž>ù÷<>Á÷<…üò)«§»‚ŠJÎèœ× Œð€t·€  ÎlÇ€ 
Î  t‹ÎÎ 
Î _Î ©3Î æ )
ˆÎ Ðç` p ¦€£üýæÀ
Ð à Cü‚þåü²€µ°ˆ$¹ýÎÓL¡ý¸œ,¬ý°ˆvÎV3ׂ*Ûƒ†Š(œ…ÜšŠü›(ÆÎÎqÎÎ9àç¬ÐºèœfÎ~Î?ÒÙÀ±Â¹
:other_variantsÁ
self_variantsÁ
åäXßøÁ‚çKÚçûÎÎÀ¸œu°ˆ|ÛƒÎ
¸œÎ˜ÎŸ ”½ŒÎ²½Œ
¦Ð.#ø²®ŒT=LQöÐ]fjvˆ<²Œ Û™ç4ðŒ ÌÞŒLæŒ
rèœ <ÞŒ 8

ŒæŒ$‹  ü¯‹æ$ ÎÓLÛ‹ÎÓL˸œ,΋üЃ¬Ð¤üÐÔžÛÔ§®:™ç*™çèœ#g±iùm ئÐöÐðñc¸œ$¸œ+ ”Ž—Î³Ž—
¦Ð.#ø³ÿ–W=LQöÐ]fjvˆ<ƒ— Û™ç4Ä— 䯗d·—
tèœ <¯— 8

¤·—$ß— è—é— ü„–å˜$ ÎÓL³–ÎÓL›–¸œ,¦–üЃ¬Ð¤üÐÔžÛÔ§®:™ç*™çèœ#g±iùm ئÐöоöc¸œ$¸œ+ $ËÓ  
' /9 AÄëÓŒðÓ
f¡$ëÓ œðÓ ‚Ô
 $‘Ô  đԌ–Ô
f@ œ–Ô ¨Ô  ùÜ…‡%ùÜ…‡#§“#$ÍÔ Û¼›(üËÓ

 +lÐÓ
­|5ÓqüÐÓŒ ÛÔ  
âÔüíÒõA Q  a q
  áÔ 
¡v ó1\µÓ®ˆ,™Óú$ Óõú$©Óó17ó1×õúó1£Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ›(ÉMTÚ¤õ
¦“Í©UˆúëðúЧ“Lœüó1¯ó1µõú;$Ÿæ '
/9AÄ¿æŒÄæˆú$¿æ
œÄæ Öæ $åæ ÄåæŒêæðú9 œêæ üæ
 ùݦˆ%ùݦˆ#§“ #
ùß›™%  ”7ùÞÖ˜uéÞÖ˜
ð
N @ .Ý‚‰$§ç Û¼›(üŸæ

+l¤æœüÛ9ùÝ‹ˆƒ v ü¤æ µç
 ¼ç Ý üºåW g
 w

 »ç ¤vùÝ™ˆuó1\‰æ®ˆ,íåú$ôåõú$ýåó1Âó1iõúó1;ó1ˆ£9üÌ¡3”7(ÍþÓRYÉõ
ˆ“̓£nP ˆúdðú
§“Óü1ó1ó1Íó1ÓõúC $´õ   '
/9 AÄÔõŒÙõˆú$Ôõ œÙõ ëõ  $úõ  ÄúõŒÿõðú9 œÿõ ‘ö
 ùà…‡%ùà…‡#§“#|»ö À¬¶ö Û¼›( ü´õ¢ 

+l¹õœü:ߦpü¹õ Õö
  ÜöüÔôˆA Q
 a q   Ûö 
§v
ó1\žõ®ˆ,‚õú$‰õõú$’õó1<ó1ãõúó1Íþ›( žhõ
j“Ímˆú´ðúZ§“#œüÔó1só1yõúÿ$‚… '/9AÄ¢…Œ§…ˆú$¢…
œ§… ¹… $È… ÄÈ…ŒÍ…ðú9 œÍ… ß… ùᦈ%ùᦈ#§“ #
ùã›™%  ”7ùâÖ˜uéâÖ˜ï‚
L > ,ႉ|
À¬Š† Û¼›(
ü‚…¨
+l‡…œüð©Nùወƒ y ü‡…£ ©† °† á ü›„W g w

 ¯† ªvùᙈuó1\ì„®ˆ,Єú$ׄõú$à„ó1×ó1~õú©ó1;ó1ˆ£9Ì¡H”7=ÍþÖ›(òZaÑŽõ
“̓£vX ˆúðú'§“ðï‚¢œü9ó1ó1Õó1ÛõúKfalseÁtrueÁ0<Úì4 läì\äì
·4+,üì4 „ít„íL‡í
˜6Œ3-.\‡í,¥í$ªí
Ü¢úHúHßûHÁ‘4Ý­f‰úM÷÷éZ,W÷éÖ«í*cT¤í Åí üÌí àí
üèí#  ²Œ3 F$‹î
ܢ˙÷é MÚW÷éØŒî *9üàí0$âí
ƒ} 

 üçí( *üâí.:
 <Öí
&  Ûí ÛF ¢î¤î

‚#F ¤î ¨î*/<£î
Ü¢½£½£¾¿£¹À£þÁ£ exhaustedÁ1¥œMu7·PF²§ *{¹î
·ßIY”7”7(^Y*:¿îᜂY”7”7{—Y*3Åî᜻Y”7”7[ÐY*3åîáœôY”7”7) Z*3ëîáœ-Z”7”7}BZ*3ñîáœfZ”7”7]{Z*39Ë
 ^ ¯
\øî ‚ï" $*\Ìî Öî" $*EV¢³«ï ¹ï Ú»ï УF4ºï
Ü¢УУÄÒ£þ…K~)+ÄÒžFwn*X´«ïD¯ï
Ó4´D¸ï*”¯ïËï tËï$Ïï
ß4 +$Ôï
*TÏï4ïï#ìï" £ ìï#ìï

ÊL££¹ƒ£¹„£þ-'ºˆÉ¬g"ƒ!*\`$!øßãï@z&$Ž
ûM¸¤& %*©­'%¹'"! Ë„ð)4‘ð* !”7¤„ðDˆð÷¢)>*3(/*„ˆð Äð-,Æð0 ÊðF& 0(F#*M/0FÆð. —£F/LÅð
Ü¢—£—£»™£¹< =áï_åF-Ó.n,$*Xü°ð$”°ð
´,\ÃðÐð +%*8ü¬ð(+åàð2 íð3|àðDäð÷¢273,1'*\äðõð4  ùð(.4%)úð?.O,ü“ìçl+|4+-b²=üÖì¤üøìü˜íâü´íÆü‘îÊ95š˜4ÉìŒ3¿ìš˜
š˜R
 Œ3H
”7,œí”7
 š˜)
T¸íÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙFX ”7Û ´š¨ É™ß ®:4 F) ”7Ô”7! é› GÇGŽç­ä£9 š˜>”7 ”7>Ÿ¢9£9ƒ®œ¸¤¸¤Si¸¤4Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¸¤®:(£9¥ƒ®Õ”7Í”7«”7”7¢æ§AF¥F°£9jƒ®”74tsÁQresÁØ raw_sÁ± ¾XindentÁL´ ùg$C’—
Ù—Ü “˜¦ ë™Õ ®š ­›# à›õ
áœ{
áœB
áœ
áœÞ ᜬ áœz –¢ð÷¢º£]²¤ë¶¥ò÷¢ݧS¿¨ü÷¢Žš˜GŒ3Mš˜TŒ3Zš˜a®  éí(îí{óí[øí)ýí}‚î]‡î;*
9
²;É™V
˙_
g

”½ú\Âú
$½úlÂú0Ä·úQƒû’3‹û´‹ûû
Ó*ûáú«ó1Lèú$ëú
èó1»1èú 4ëúì‹û$¢ûøµ4¢û §û üÚùß¹û·œÞúüÿú)»1¼òù¼´$éùÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ó1’3â®:4Þúó1L’3¥ó1 ’3¡®¯errÁßÿ¶´IµµÑøµøµi’3F’3L$éÿTãÿ$¦€’3D®€ Ö¿ó1’3 µ€ ÿÿ«Œ3|…€\‡€
Œ3 …€l‡€Ç€¿ü­ÿšÄüÿ¤¢€´·œÅÿ¾2$¼ÿ®:,üÿŒ3œ’3ä$Á¹×·s±º¾/=>@AK²´µÀÙðŠ¦¿Àª Tþ(<¡)¡
 ParseStreamÁ\¼)ìParserÁ4É)áSpannedÁ<ä)åvisitÁ$þ)ãK
VisitÁ,„*çK bracedÁ4*7
punctuatedÁT£*âtokenÁ,¯*9çbL¶*¥8DataÁ$Á*ë8ã\Ç*å8œ2,Ô*ÀExprÁ$Û*€9¸F,á*Þ8«4è*È8’—\ô*×8Ó™l+Ú8 GenericParamÁd+Ô<¾Dž+Ï<ªE,¨+óªE ÷=
PredicateTypeÁl¯+ò=Í4¾+¾TokenÁ,Æ+
TraitBoundÁTÑ+Ç=ó$Ý+ÜE TypeMacroÁLã+¾F!TypeParamBoundÁtî+²="TypePathÁDþ+ÅF# WhereClauseÁ\ˆ,Þ=$WherePredicateÁt•,á=% format_identÁdµ,/'
quote_spannedÁlÃ,«(ToTokensÁDÒ,c)Ø ,à-»*SpanÁ$ú-¯,ç\€.ª- TokenTreeÁL..õ \¿8 tã$9œ \Û4:üĉüLI This crate provides helper types for matching against enum variants, andÁüMOL extracting bindings to each of the fields in the deriving Struct or Enum inÁ a generic way.Á°úü´MJ If you are writing a `#[derive]` which needs to perform some operation onÁü‚74 every field, then you have come to the right place!Áºúܾ # Example: `WalkFields`ÁäÚ ### Trait ImplementationÁ ```Áüÿ)& pub trait WalkFields: std::any::Any {Áü©=: fn walk_fields(&self, walk: &mut FnMut(&WalkFields));Áìí impl WalkFields for i32 {Áü‹@= fn walk_fields(&self, _walk: &mut FnMut(&WalkFields)) {}ÁÜÇÒÆÚú¬Þ ### Custom DeriveÁÒÆ¼ü # use quote::quote;Áü”RO fn walkfields_derive(s: synstructure::Structure) -> proc_macro2::TokenStream {Áüç&# let body = s.each(|bi| quote!{Á¬Ž walk(#bi)Á });Á°úÜ´ s.gen_impl(quote! {ÁüÐ2/ extern crate synstructure_test_traits;Áƒúü‡EB gen impl synstructure_test_traits::WalkFields for @Self {ÁüÍ`] fn walk_fields(&self, walk: &mut FnMut(&synstructure_test_traits::WalkFields)) {Áü®)& match *self { #body }ÁŒØ
 })ÁÜÇü‰ /, # const _IGNORE: &'static str = stringify!(Áü¹ B? synstructure::decl_derive!([WalkFields] => walkfields_derive);Á # );Á
ú4‰
 /*Á
* Test CaseÁ
 */Á
fn main() {Áü¹
$! synstructure::test_derive! {ÁüÞ
 walkfields_derive {ÁÜþ
 enum A<T> {Áôš  B(i32, T),Áܹ  C(i32),ÁŒÕ íÍ ‡ÎÄõ  expands to {ÁüŽ  const _: () = {Áü® :7 extern crate synstructure_test_traits;Áüé IF impl<T> synstructure_test_traits::WalkFields for A<T>Áü³
EB where T: synstructure_test_traits::WalkFieldsÁ¬ù
ühe fn walk_fields(&self, walk: &mut FnMut(&synstructure_test_traits::WalkFields)) {Áüø)& match *self {Áü¢LI A::B(ref __binding_0, ref __binding_1,) => {Áüï96 { walk(__binding_0) }Áü©96 { walk(__binding_1) }Áüã!ü…;8 A::C(ref __binding_0,) => {ÁüÁ9ÙÖüû!ß×ìÌ»¬Õ”ë };Á‡Î,ÜÇÒÆ¤ų́ # Example: `Interest`Áä­ÆÒÆÄç pub trait Interest {Áü€&# fn interesting(&self) -> bool;ÁÜÇÜ­ impl Interest for i32 {ÁüÉ30 fn interesting(&self) -> bool { *self > 0 }ÁÜÇÒÆú¬€ÉÒÆ¼­«ÉüÅTQ fn interest_derive(mut s: synstructure::Structure) -> proc_macro2::TokenStream {Áüš2/ let body = s.fold(false, |acc, bi| quote!{ÁüÍHE #acc || synstructure_test_traits::Interest::interesting(#bi)Á\õÊ¢úܦ•ËüÂ2ºËüõC@ gen impl synstructure_test_traits::Interest for @Self {Áü¹/, fn interesting(&self) -> bool {Áüé! match *self {Áì‹ #bodyÁ¬©²ÙŒ¿í͇ÎÎÜÇüð/¾Îü >; synstructure::decl_derive!([Interest] => interest_derive);ÁÂÏèúßÏ„óîÏ<„‡Ð—Ðüœ# synstructure::test_derive!{ÁìÀ interest_derive {ÁÜÞ†ÑôúªÑÜ™ÑÑŒµí͇ÎÄÕÒüî±ÒüŽ:ÚÒüÉGD impl<T> synstructure_test_traits::Interest for A<T>Áü‘C@ where T: synstructure_test_traits::InterestÁ¬Õ¿Ôüë74 fn interesting(&self) -> bool {Áü£)ÐÕüÍLƒÖüš ,) false ||ÁüÇ gd synstructure_test_traits::Interest::interesting(__binding_0) ||Áü¯!da synstructure_test_traits::Interest::interesting(__binding_1)Áü”"!ß×ü¶";ŠØüò",™æüŸ#da synstructure_test_traits::Interest::interesting(__binding_0)Áü„$!ß×ì¦$êØÌÄ$Ù¬Þ$²Ù”ô$ÐÙl‡%‡ÎL•%øÙ,Ÿ%ÜÇ<¥%ÒÆ­%úü±%RO For more example usage, consider investigating the `abomonation_derive` crate,Áü„&85 which makes use of this crate, and is fairly simple.Á/=>@AK²´µÀÙðŠ¦¿Àvª wv¡
¶»kìÔ»eáí»^凼YãK
Ÿ¼TçK ·¼N7
мDâí¼?9çb>¥8—½:ë8ã9å8œ28ÀÕ½4€9¸F3Þ8«2È8’—1×8Ó™0Ú8º¾$Ô<¾#Ï<ªE"óªE4 ÷=¿ò=;ÿÜ¿Ç=óÜE ŒÀü¾F!¨Àî²="ÉÀæÅF#äÀÛÞ=$‚ÁÍá=%£ÁÁ/'ÂÁ´«(ãÁ¬c)Ø «»*§¯,禪-¹Â.õ œ8 9œ š:š¼ñ(Ì)T¯)ru_b¬Ö)OTñ)>,ö)-0*!
õøéìØÛÊͽÀ¬¯Ÿ¢vy]`PSCF ùüáäÔ×¾Á£¦Žvy[^,­,FI,/dÙ-\ì-ÿòõÜßtó/üPM This module provides two utility macros for testing custom derives. They canÁüQNK be used together to eliminate some of the boilerplate required in order toÁü 30 declare and test custom derive implementations.Á4ê/4û/ TokenStream2Ád±ª0Ø »1parse2Á4ã •"3 parse_strÁLë —"4ãå85ç\™Á6parseÁ,³ª7½÷ “"7Ä•ždÇ݃km]TT®DIJü»PM The `decl_derive!` macro declares a custom derive wrapper. It will parse theÁüŒOL incoming `TokenStream` into a `synstructure::Structure` object, and pass itÁäÜ into the inner function.ÁùúüýMJ Your inner function should take a `synstructure::Structure` by value, andÁüËHE return a type implementing `synstructure::MacroResult`, for example:ÁúÒÆü RO fn derive_simple(input: synstructure::Structure) -> proc_macro2::TokenStream {ÁÄó unimplemented!()ÁÜÇúü– 41 fn derive_result(input: synstructure::Structure)ÁüË 0- -> syn::Result<proc_macro2::TokenStream>ÁÄ‚
šü,
ÜÇ
ÒÆ©
ú\­
 # UsageÁ¹
úÔ½
 ### Without AttributesÁ
ÒÆüà
XU fn derive_interesting(_input: synstructure::Structure) -> proc_macro2::TokenStream {Áì¹  quote::quote! { ... }Á,× ÜÇÝ úüá 0- # const _IGNORE: &'static str = stringify! {Áü’ 63 decl_derive!([Interesting] => derive_interesting);Á  # };Á ÒÆÚ ú¼Þ  ### With AttributesÁ ÒÆ”þ  # fn main() {}Áü‘
XÞþìê
¿ÿÜÇŽúü’0ÿÿüÃVS decl_derive!([Interesting, attributes(interesting_ignore)] => derive_interesting);Áø€ÒÆ«úü¯&# ### Decl Attributes & Doc CommentsÁÒÆ”ÞÏüñXÞþìÊ¿ÿÜÇîúüò0ÿÿ”£ decl_derive! {ÁĶ [Interesting] =>ÁÜÏ #[allow(some_lint)]Áüë" /// Documentation CommentsÁÔŽ derive_interestingÁÜÇø€ÒÆÀúüÄOL *This macro is available if `synstructure` is built with the `"proc-macro"`Ál”
feature.*Áì×´¹úunknownÁ¬ÕúwasiÁ”ìüÔ+ü¸Hü´M»© ´‡ü«tü¢(|¢“" Ë É  Ì   §, ˆ8derivesÁ<‰& 8¼,,  ˜ ¥, 8derive_tÁ& ¢8¯£
¦*©, ¬ ­ ¾+ ® ¯ ½, ° ± », ²8è& ¸8¯¹
¼
¿, Á8†1& Ç8õ
*Î Ñ Æ+ Û Ü 8¬ ŒÝ î , ï8œˆ, ø ù ƒ, ú8Ûˆ
+   §8«,’  ¦8non_snake_caseÁt˜, ± ² À+ ³ ´ ¿, µ  ½, ·8è,¸
¾
Á8Ë8 Ï, Ò8œˆ Ú 8´ è& é, ë8'ñ8È 'ù8ç(, 8,•'š8È '¢8ç ° À8, Ä8'Ê8È 'Ò8½÷'Ù Û, Ü8'â8È 'ê8ã ÷ ø ú8´ ù ü 'Ž8í$'8 4'œ8Í'¤8«¦ ¨ ª8» ©*¬ ¯ œ 8, Ë8'Ñ8÷'Ü8¿ å è æ8» ç ê Š'8í$†'Š8 '8Í4”'š8«œ ž  8¾ Ÿ*¢, ¥8'«8\­'¸8à ŠÏ, Æ8†1 Ì Î8¾ Í$ Ð'ê8í'ð8 'ø8Í'8  8° * Œ ô 'ª8í'°8å'¹8'¿8intoÁ Å Ú8° Æ Ç8to_compile_errorÁ„È Ø Ù'®8í'´8 '¼8Í'Ä8Æ É Ë8° Ê*Í Ð ¨ 'æ8í'ì8å'õ8'û8Ÿ”  8°  ƒ8Í”„„  % ÇÜÖ$üÌLI The `decl_attribute!` macro declares a custom attribute wrapper. It willÁü™MJ parse the incoming `TokenStream` into a `synstructure::Structure` object,Áüç(% and pass it into the inner function.Áúü”74 Your inner function should have the following type:ÁÌúÒÆŒØ fn attribute(Áüê'$ attr: proc_macro2::TokenStream,Áü’+( structure: synstructure::Structure,Áü¾# ) -> proc_macro2::TokenStream {ÁÄâšüÜÇ< ÒÆú\ þú< 񮓴  fn attribute_interesting(Áüà (% _attr: proc_macro2::TokenStream,Áüì ,) _structure: synstructure::Structure,Áü™!#Ášì½!¿ÿ,Û!ÜÇá!úüå!0ÿÿü–"<9 decl_attribute!([interesting] => attribute_interesting);ÁDÓ"ø€<Ü"ÒÆä"úüè"O¡†l¸#ù†ì×´Ý#ú¡‡¬ù#ú´‡$üø#+üÜ#HüØ#M»© ´«$üÏ#tüÆ#(|Æ$ . ò$ õ, ø$ ¯%  ù$ Š%, ú$8Lû$& „%8¼,…%*Œ%, % % ¡%+ % %  %, “% ”% ž%, •%8è,%& %8¯œ%
Ÿ%
¢%, ¤%8†1,¥%& ª%8õ
$«%*±% ´% ò,+ ¾% ¿% Ô%8« ¤À%, Þ% ß% í%+ à% á% ì%, â% ã% ê%, ä%8è,å%
ë%
î%8ø%8 ü%, ÿ%8L€& ‰& î&8$—&& &, &8,ž&'£&8È 4¥&'«&8ç\­&$ ¸&8´ Æ&& Ç&, É&8,Ê&'Ï&8È 4Ñ&'×&8ç\Ù&$ ä&(ð&, ó&8,ô&'ù&8È 4û&''8ç\ƒ' ' ì,8,', £'8,¤''©'8È 4«''±'8½÷,³''¸' º', »'8,¼''Á'8È 4Ã''É'8ã\Ë' Ö' ×' Ù'8´ Ø' Û' â,'í'8í$ï''ó'8 4õ''û'8Í4ý''ƒ(8«…( ‡( ‰(8» ˆ(*(8,Ž(, ”(8,•('š(8÷Lœ('¥(8¿<§( ®( ±( ¯(8» °( ³( Ç+'É(8í$Ë('Ï(8 4Ñ('×(8Í4Ù('ß(8«á( ã( å(8¾ ä(*ç( ê( *, „)8,…)'Š)8\Œ)'—)8Ã\™) ¤) ‡*, Â)8†1,Ã) È) í) 'É)8í$Ë)'Ï)8å<Ñ)'Ø)8$Ú)'Þ)8Ÿ”$à) ä) é)8$å)$ ê)8¾ ì)'³*8í$µ*'¹*8 4»*'Á*8Í4Ã*'É*8Ë* Î* Ð*8° Ï**Ò* Õ* µ+ 'ï*8í$ñ*'õ*8å<÷*'þ*8$€+'„+8Ÿ”$†+ Š+ Ÿ+8° ‹+ Œ+8Í”+ + ž+$ È+'Ú+8í$Ü+'à+8 4â+'è+8Í4ê+'ð+8ò+ õ+ ÷+8° ö+*ù+ ü+ Ô, ',8í$”,'˜,8å<š,'¡,8$£,'§,8Ÿ”$©, ­, Â,8° ®, ¯,8Í”„°, À, Á,% ó,ÄÎ4üø,NK Run a test on a custom derive. This macro expands both the original structÁüÇ-NK and the expansion to ensure that they compile correctly, and confirms thatÁü–.NK feeding the original struct into the named derive will produce the writtenÁ\å. output.Áñ.úüõ.HE You can add `no_build` to the end of the macro invocation to disableÁü¾/MJ checking that the written code compiles. This is useful in contexts whereÁüŒ0KH the procedural macro cannot depend on the crate where it is used duringÁTØ0 tests.Áã0ú\ç0þó0ú<÷0ÒÆüÿ074 fn test_derive_example(_s: synstructure::Structure)Áü·174 -> Result<proc_macro2::TokenStream, syn::Error>Á,ï1Ìýüõ1GD Ok(quote::quote! { const YOUR_OUTPUT: &'static str = "here"; })Á,½2ÜÇÃ2ú|Ç2—Ðü×2#Ôâüû2! test_derive_example {ÁÌ3 struct A;Ál·3‡ÎÄÅ3ÒüÞ396 const YOUR_OUTPUT: &'static str = "here";Ál˜4‡ÎL¦4øÙ,°4ÜÇ<¶4ÒÆ(|¾4®9 ç4 A í4 Ÿ5, î48Ð $ï4& ó48õ
$ô4 ù4 …5, û4 ü4 5, ý48´ þ4& ÿ48¯€5
ƒ58expandsÁ<‡58toÁ5 5 ž5, ”5 •5 5, 58º —5& ˜58¯™5
œ5*¡5 ¤5 7 ®5 7
+ ¼5 ½5 Î58«,¾5 Ã5 Í58LÄ58 Ü58ensure_compilesÁ|ß5 î5 ï5 ñ5 ­6, ƒ6 „6 ‡6, …68´ †6
ˆ6, š6 6 ž6, œ68º 6
Ÿ6, ¼68,½6'Â68œ \Ä6 Ï6 Ð6 €7, Ñ68Ð $Ò6 ×6 à6, Ù6 Ú6 Ý6, Û68´ Ü6
Þ68±·<â68÷ê6 í6 ö6, ï6 ð6 ó6, ñ68º ò6
ô68no_buildÁDø6% 7% 7 ™7 Ô7 , š78Ð $7& Ÿ78õ
$ 7 ¥7 ±7, §7 ¨7 ®7, ©78´ ª7& «78¯¬7
¯78±·<³78÷»7 ¾7 Ê7, À7 Á7 Ç7, Â78º Ã7& Ä78¯Å7
È78á»DÌ7*Ö7 Ù7 ÿ@ ã7 ù@k8ñ78´ õ7 ÷7, ù78,ú7'ÿ78È 48'‡88Ø ,‰8 Ž8 8 ˜8, 8 8 •8, “88´ ”8
8% ™88§88parsedÁ4«8 ²8, ´88,µ8'º88È 4¼8'Â88éö4Ä8'Ê8 Ì8, Í88,Î8'Ó88È 4Õ8'Û88ã\Ý8 è8 é8 ë88´ ê8 ý884þ8 „9 ¬:'…98í$‡9'98¨49 “9 ”9 «: 7#Failed to parse input to `#[derive(Áüª9%$ Ï9'å98í$ç9'ë98ÔLí9 ö9 ÷9 ý9, ø98Ð $ù9$ þ97)]`Á,”:$ ™:% ­:8¼:8raw_resÁ<À: È:, Ê:8Ð $Ë: Ï: ï:, Ð:8,Ñ:'Ö:8÷LØ:'á:8æ ã: æ: î: ç:8³¿4è:% ð:8þ:8¾¯; †;, ˆ;8,‰;'Ž;8\;';8°\; ¨; °;8êÂ<©; Â;84Ã; É; ô<'Ê;8í$Ì;'Ð;8¨4Ò; Ø; Ù; ó< 7&Procedural macro failed for `#[derive(Áüï;($ —<'­<8í$¯<'³<8ÔLµ< ¾< ¿< Å<, À<8Ð $Á<$ Æ<7ÄÂ,Ü<$ á<% õ<8„=8
expected_toksÁlˆ= =, ˜=8,™='ž=8È 4 ='¦=8Ø ,¨= ­= ®= ·=, °= ±= ´=, ²=8º ³=
µ=% ¸=8Æ= É=, Ê=8,Ë='Ð=8È 4Ò='Ø=8ºödÚ=8ç='ê=8Àì='ï=8stringÁ4ñ='÷=8ToStringÁDù= >'>8L„> > > Ž>8¾¯>¤> §>, ¨>8,©>'®>8È 4°>'¶>8ºöd¸>8Å>'È>8ÀÊ>'Í>8öÈ4Ï>'Õ>8ŽÉD×> ß>'à>8Lâ> ë> ú> ì>8ðÆlí> ˆ? ï@8Á
,š? Ÿ?  ? à@7=\
test_derive failed:
expected:
```
{}
```
got:
```
{}
```\nÁü¡??$ à?, ö?8,÷?'ü?8çtþ? Œ@ @ @8ðÆlŽ@$ œ@, ²@8,³@'¸@8çtº@ È@ Í@ É@8¾¯Ê@$ Î@% á@% €Aܺ4Ó)<d<üÜ4-Lß4ÜÝ ÜÓ) Ýó1£9; é4;
<$ê4tokensÁ4ð4ü­83l°8Þß ÞÎI ß
£9 Ã8
=¾¯¾8æ Ó8üä:Mtç:?à à
?ÄHªBªBö­B€9÷<®B÷<9)
-ÜnL ? FŠJö:
>setÁú:Dˆ;üö=Etù=áâ áÄH âÄHÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
£93 Ž>
@Ÿ”$ˆ>÷$>ü´N\”·Nã ãÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙŒ3¸œ ãŒ3¥BCBC ÕNÍìŒ3 ÊNÍ츜 ÍN–"¸œ£9lO¸œ£9˜"Œ3 ŽO
AŒ3¸œoptÁÐN± åN[]WYüÔV!8ää§,EdEüüV-LÿVåæ å§, æó1£9D ‰WD
E8$ŠW±Î4WÄÝWë GG„+HIJâWôåXüüWC@ Returns a reference to the underlying `syn` AST node which thisÁäÄX `BindingInfo` referencesÁìXç ç„+ ë ®GF ðXF
Hë $ñXü®] ü¤Y:7 Generates the pattern fragment for this field binding.ÁãYúlëY
# ExampleÁ<ýYÒÆÔ‰Z # use synstructure::*;Áü¨Z2/ let di: syn::DeriveInput = syn::parse_quote! {Á„ßZ
enum A {ÁüôZ  B{ a: i32, b: i32 },Áœ™[ C(u32),ÁL±[øÙ4¿[ };ÁüÊ[  let s = Structure::new(&di);Áï[ú|÷[ assert_eq!(Áü‹\85 s.variants()[0].bindings()[0].pat().to_string(),Á„È\
quote! {ÁÜÝ\ ref __binding_0Á¬ý\ }.to_string()Á4—] );Á<¢]ÒÆµ]è è„+ó1F ¹]F
Ië $º]ü«d4ü³^FC Returns a list of the type parameters which are referenced in thisÁŒþ^ field's type.Á”_údœ_ # CaveatÁ­_úüµ_JG If the field contains any macros in type position, all parameters willÁü„`GD be considered bound. This is because we cannot determine which typeÁüÐ`(% parameters are bound by type macros.Áý`úl…a­Ø<—aÒÆÔ£aÐØüÂa2ôØÄùa struct A<T, U> {ÁÌ–b a: Option<T>,ÁŒ´b b: U,ÁLÊbøÙ4Øb›Úüãb$! let mut s = Structure::new(&di);ÁŒcú|”càÚü¨c=: s.variants()[0].bindings()[0].referenced_ty_params(),Áüêc%" &[&quote::format_ident!("T")]Á4”d•Ü<ŸdÒÆ¤²dé é„+ªBªBö­B€9÷<®B÷<9)
-ÜnL ë  FŠJF ÇdF
Jë $Èdü©nAl¬nêë ê®G ëÄHÎI Án
KÂ,ºnDÉnÜâo„éoë MMÌ/§Ë9 Z2*NOúoŒˆp4ˆpLLÎI´£pD£pLL ë ÄHüÆp+ë QQÌ/RS¶LMRSËpüåq%\èqìí ìÌ/ í F£9P ôqP
Rë $ùqidÁÿqü²t0„µtî îÌ/ ë ¾F¾FŒÀ¿FmacÁ“±Yh]£9P ÆtP
Së $Ëtà ÑtÄ»xë UU±.VXYZ[\_dhmoqrtvÀxüÚxVÝx“-Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙáäåæ±.TT
Vë Æ
áxÃ4öxDyd|V<closure_kind>ÁW<closure_signature>ÁW<upvars>ÁWWVWΨÎL­NüÀ„,ü‡„41 Returns a slice of the bindings in this Variant.ÁDÇ„ï ï±. ï
„+T ЄT
Xë $Ñ„üÎ…8ü‘…85 Returns a mut slice of the bindings in this Variant.ÁdÕ…ð ð±. ðŽíT â…T
Yë $ç…ü¿‡#ü¯†B? Returns a `VariantAst` object which contains references to theÁüö†DA underlying `syn` AST node which this `Variant` was created from.ÁƇñ ñ±.“-T ʇT
Zë $ˇüÈ&üˆ=: True if any bindings were omitted due to a `filter` call.Á„ʈò ò±.T ÛˆT
[ë $܈üÒ ü«‰VS Generates the match-arm pattern which could be used to match against this Variant.Á†ŠúlŽŠ­Ø< ŠÒÆÔ¬ŠÐØüËŠ2ôØ„‚‹¯ÙÄ—‹ B(i32, i32),Áœ´‹òÙLÌ‹øÙ4Ú‹›Úüå‹ «ÚŠŒú|’ŒàÚü¦Œ*' s.variants()[0].pat().to_string(),Á|ÕŒ quote!{ÁüéŒ30 A::B(ref __binding_0, ref __binding_1,)Á¬¡÷Û•ÜÒÆÙó ó±.ó1T ÝT
\ë  ‘\§ê]¿ê]Üê]]\]Çœ ¹‚¥–\§ê^¿ê^Üê^^\^ÇœŒ÷ü½ ~üÆ™IF Generates the token stream required to construct the current variant.Á”šúüœšGD The init array initializes each of the fields in the order they areÁüèš&# written in `variant.ast().fields`.Á“›úl››­Ø<­›ÒÆÔ¹›ÐØüØ›2ôØœ¯Ù䤜 B(usize, usize),ÁÔÅœ C{ v: usize },ÁLäœøÙ4òœ›Úüýœ «Ú¢úàÚü¾A> s.variants()[0].construct(|_, i| quote!(#i)).to_string(),Á„žú|Œžëóü ž! A::B(0usize, 1usize,)Á¬Æž÷Û4àž•Üëžú|óžàÚü‡ŸA> s.variants()[1].construct(|_, i| quote!(#i)).to_string(),ÁÍŸú|ÕŸëóôéŸ A::C{ v: 0usize, }Á¬Œ ÷Û4¦ •Ü<± ÒÆLÄ õ õ±.¸œó1T`¥aa` Ô TÑÔ ΠÍ쾜 Ñ ô“"¸œ ô®GFÌŒ¡ô¸œÌÿ˜"¾œ ¤¡c¾œD²¡
_ë ¸œ¾œ$Õ Ù¢fWˆŠ·¤_§êb¿êbÜêbb_•§_§êc¿êcÜêcc_Çžü„±yüÿ©VS Runs the passed-in function once for each bound field, passing in a `BindingInfo`.ÁüÚªEB and generating a `match` arm which evaluates the returned tokens.Á¤«úü¬«IF This method will ignore fields which are ignored through the `filter`Á\ú« method.ÁЬúl’¬­Ø<¤¬ÒÆÔ°¬ÐØüϬ2ôØ„†­¯ÙÄ›­Àòœ¸­òÙLЭøÙ4Þ­›Úüé­ «ÚŽ®ú|–®àÚüª®MJ s.variants()[0].each(|bi| quote!(println!("{:?}", #bi))).to_string(),Áü®ú|„¯ëóü˜¯85 A::B(ref __binding_0, ref __binding_1,) => {ÁüÕ¯1. { println!("{:?}", __binding_0) }Áü‹°1. { println!("{:?}", __binding_1) }ÁlÁ°‡Î¬Ó°÷Û4í°•Ü<ø°ÒÆ$‹±ø ø±.¸œó1Te£fef –±TÑÔ ±Íìõà “±ö÷“"¸œ öððóòŽóôÂõöº÷ÖTDÙaМ+ñ÷ä˱ö÷¸œ½‰˜"õà æ±cõÃDô±
dë ¸œõÃ$—±±Ñhúüõ÷4­³d§êg¿êgÜêggd­Äü¦»§ü©´IF Runs the passed-in function once for each bound field, passing in theÁü÷´JG result of the previous call, and a `BindingInfo`. gene
±.w áŒw
|ë $âŒüá8ü¢:7 Returns a mut slice of the variants in this Structure.ÁdèŠ Š“0 Š™Íw õw
}ë ü°$üÂŽCŽÖüŠ! `Structure` was created from.Á· “0ñÇw »w
~ë ü¾&üóFC True if any variants were omitted due to a `filter_variants` call.Á„ÅŒ Œ“0w Öw
ë ü›™yüVó€üë‘C@ and generating `match` arms which evaluate the returned tokens.Á³’úü»’LI This method will ignore variants or fields which are ignored through theÁüŒ“*' `filter` and `filter_variant` methods.Á»“úlÓ­Ø<Õ“ÒÆÔá“ÐØü€”2ôØ„·”¯ÙÄÌ”Àòœé”òÙLøÙ4›Úüš• «Ú¿•ú|Ç•àÚüÛ•?üšŸ–ú|§–ëóü»–8Ã…üø–1††ü®—1†lä—‡Îüö—'ö³ü¢˜1††lؘ‡Î¬ê˜÷Û4„™•Ü<ÒÆ$¢™ “0¸œó1w£ ­™wÑÔ §™–‰ ª™Ž“"¸œ ððóòŽóôÂõöº÷ÖTDÙaМ+ñŽä♎¸œ«×˜"õà ý™ÚŠD‹š
ë ¸œõÃ$®™± ¸™íïñóüÛ¤§üšœI‚‹üèœHE result of the previous call, and a `BindingInfo`. generating `match`Áüµ0- arms which evaluate to the resulting tokens.ÁêúüòL¬ÑüÞ*ƒÒòžúüúžC@ If a variant has been ignored, it will return the `init` value.ÁŸúlÊŸ­Ø<ÜŸÒÆÔèŸÐØü‡ 2ôØ„¾ ¯ÙÄÓ Àòœð òÙLˆ¡øÙ4–¡›Úü¡¡ «ÚÆ¡ú|ΡàÚüâ¡DA s.fold(quote!(0), |acc, bi| quote!(#acc + #bi)).to_string(),Á«¢ú|³¢ëóüÇ¢8Ã…ü„£-Íl¶£‡ÎüÈ£'ö³üô£ 0 + __binding_0Ál˜¤‡Î¬ª¤÷Û4Ĥ•Ü<ϤÒÆ$⤠“0·Õ¸œó1wš£ ð¤wÑÔ ç¤®’ ê¤À’ í¤“"¸œó1 ððóòŽóôÂõöº÷ÖTDÙaМ+ñü®¥)¸œŸà˜"ŠÖ Ö¥‡”D䥗”Dù¥
ƒë ¸œ·ÕŠÖ$ñ¤¼Þb›± „¥ü½°ü–¨C@ Runs the passed-in function once for each variant, passing in aÁüÞ¨JG `VariantInfo`. and generating `match` arms which evaluate the returnedÁ\­© tokens.Á½©úüÅ©JG This method will ignore variants and not bind fields which are ignoredÁü”ª63 through the `filter` and `filter_variant` methods.ÁϪúlת­Ø<éªÒÆÔõªÐØü”«2ô؄˫¯ÙÄà«Àòœý«òÙL•¬øÙ4£¬›Úü®¬ «ÚÓ¬ú|Û¬àÚäï¬ s.each_variant(|v| {Áü­&# let name = &v.ast().ident;Áü»­/, quote!(println!(stringify!(#name)))Á¼ï­ }).to_string(),Á‹®ú|“®ëóü§®8Ã…üä®'$ println!(stringify!(B))Ál¯‡Îü¢¯'ö³üί'$ println!(stringify!(C))Álú¯‡Î¬Œ°÷Û4¦°•Ü<±°ÒÆdİ “0¸œó1wˆ£ˆ ×°wÑÔ Ѱ–‰ Ô°“"¸œ ¦¦¨¨Ã©üªÆ
«¬é?
˜R8‰䌱¸œèê˜"õà §±ÚŠDµ±
ë ¸œõÃ$ذ± â°äæèêü˽hü‘´OL Filter the bindings created by this `Structure` object. This has 2