Files
archy/core/target/debug/deps/libindexmap-f3b9a91f2b29d980.rmeta
T

2943 lines
898 KiB
Plaintext
Raw Normal View History

2026-01-24 22:59:20 +00:00
rust
#rustc 1.93.0 (254b59607 2026-01-19)Á³VOÐêùÿ²?ÑL¼§Ì±-a7a40eb546f9e2b0Áá\ƒ¦è3$|]åŒ[IÚ tæ-14b12edc9f8cd90bÁë&Gf·Ã ¬ëñq:¤»b-bb76018b1173caf6Áõ…·fÊ ¦%g--c48c539199cbc88bÁà 9m Ù„«ÐÒþá•cB;-030c5b0bba47cc8fÁrustc_std_workspace_coreÁÛ¹þÓ7>H%¸ÚÉ­-4b81d37a5530864dÁüÃùs<Uß7VyóHr#QÏ-c66cc7807550ce25Á miniz_oxideÁõFÖˆÚ™ª‹"ÞXzLVª-62cbc7af83058505Áadler2Á—wÉD‘嵯|6¨%Œ
+-2f171dd2394b4b62Á hashbrownÁ,ïcV¼¨ø¢:Ê\'È߈-9571ba9e0f6c7a90Árustc_std_workspace_allocÁ%¥Èxµù·¼5Ä3Bœ-aac566ad65903fa4Á
std_detectÁMmáýZ^9õ Îà§e˜÷e-2edb296e590136d8Árustc_demangleÁ@¼§VÉNb˜æ¨fHÌ+V3-53b132e4a2fa6e26Ácfg_ifÁfÝv.Å"ÒÜuPp¹ˆ¶-f76b385d7d4d7f3eÁ addr2lineÁÕú-WiúQVÓ¬
µT§5-fe25100bd73e48e4ÁgimliÁ¹xLáÇí÷‘o±Ñ8£Å-265ba9e6e4f70b3fÁobjectÁÔ³ÝzÓÿ¶ò°öM›¼òü`-9ae0d1f8ea52a318ÁmemchrÁRÎ÷׎™te~QÓ¿ØC\Ò-0bff3c8e8f4e489eÁ  –©HtGNÏ·ˆ!á-d69228d077d46f36ÁÐ_Û×îÈ;ý¸(À£éêd¡;-85e33829135e7350Á
2026-01-24 22:59:20 +00:00
serde_coreÁIkŒŒ«„ù­NƒP©´-e5150d61a69beeacÁ
equivalentÁÆÓ¬æ?ÏY±ž2ÖÂt-0716044aa765588bÁimpl_arbitraryÁtW< arbitraryÁ\¬impl_quickcheckÁ| 
quickcheckÁd¹´¯êparallel_iterator_methodsÁÌ‘/<ð.rayonÁ<ú.Œð.ê!indexed_parallel_iterator_methodsÁü—6!<ö5æ <€6Œö5borshÁ,¾$<¦$º
<°$Œ¦$svalÁ$‡%<ð$Ý
4ú$„ð$àtestsÁ,³Œà$¨Œã àãæ ,üæ <ÕŒËãIndexMapÁDŒìÊ ,‰Rà$þQà
 ,cà$Xà
æ ,âæ <»Œ±à
IndexSetÁD¹<|Œšæ ,Ã&<«&æ <µ&Œ«&³áðinnerÁentryÁ 
'aÁ 
OccupiedEntryÁý
Ž
öbucketÁý
Ž from_hashÁ##  into_coreÁ
get_bucketÁget_bucket_mutÁ into_bucketÁökeyÁgetÁget_mutÁinto_mutÁinsertÁremoveÁ swap_removeÁ shift_removeÁ remove_entryÁswap_remove_entryÁshift_remove_entryÁ remove_indexÁ
move_indexÁ swap_indicesÁ8  update_indexÁ;ý
;;Ž;ï?  VacantEntryÁAý
AAŽA
A¢AåHý
HHŽHöHåHkey_mutÁHinto_keyÁHH insert_entryÁH
insert_sortedÁHinsert_sorted_byÁSŠS Hinsert_sorted_by_keyÁVVŠH shift_insertÁH
replace_indexÁZ extractÁ\\\\\\bbŽb°e\ ExtractCoreÁgý
ggŽg
gnew_lenÁgcurrentÁgÏ\ooŽo²\ssŽs
extract_ifÁvŠs remainingÁ 
 IndicesÁEntriesÁŽ 
CoreÁŽindicesÁentriesÁget_hashÁŽ  ý
Ž  erase_indexÁž Ô  insert_bulk_no_growÁ¢¢Ž¢ ¦¦Ž¦È¦Ë««Ž«MAX_ENTRIES_CAPACITYÁ« «
with_capacityÁ« into_entriesÁ«
as_entriesÁ«as_entries_mutÁ« with_entriesÁ´Š«¾ «capacityÁ«clearÁ«truncateÁ«drainÁºë« split_offÁ« split_spliceÁ½ë«append_uncheckedÁ«reserveÁ«
reserve_exactÁ« try_reserveÁ«try_reserve_entriesÁ«try_reserve_exactÁ« shrink_toÁ«popÁ« get_index_ofÁÇ«get_index_of_rawÁÉŠÉ «
push_entryÁ« insert_fullÁ« replace_fullÁ«shift_remove_fullÁÏ«swap_remove_fullÁÑ«
erase_indicesÁÓ «retain_in_orderÁÕŠÕ «rebuild_hash_tableÁ«reverseÁ«reserve_entriesÁ«
insert_uniqueÁ«replace_index_uniqueÁ«shift_insert_uniqueÁÝ «shift_remove_indexÁ«shift_remove_finishÁ«swap_remove_indexÁ«swap_remove_finishÁ«decrement_indicesÁ«increment_indicesÁ«¬å «move_index_innerÁ«½è macrosÁêindexmap_with_defaultÁêindexmapÁêindexset_with_defaultÁêindexsetÁêiterator_methodsÁêdouble_ended_iterator_methodsÁserdeÁññññññññññ ñ
ñ ñ ñ
ññññññññññññcautious_capacityÁŽMAX_PREALLOC_BYTESÁñŽ serializeÁñIndexMapVisitorÁ
ޤ$ìñ'deÁޤ$ValueÁ expectingÁ visit_mapÁ¢ñ¤‡%¤¤Ž¤¤$¤ deserializeÁ©ñ«‡%««Ž«¤$«« DeserializerÁ«into_deserializerÁñ³³¤$³­$SeÁñIndexSetVisitorÁ¸
¸¸¤$¸ìñ½‡%½½¤$½ª%½·%½ visit_seqÁÃÙ%ñŇ%ÅŤ$Ň&Éš&ñˇ%Ëˤ$ËÈ&ËÑ&Ëå&utilÁÒÒÒÒÒthirdÁ×Ù%×ö×kÒsimplify_rangeÁÛëÒtry_simplify_rangeÁÝëÒslice_eqÁßßßimpl Fn(&T, &U) -> boolÁ
ãÁ
äääääääääEntryÁíý
ííŽíOccupiedÁñ
ñìíVacantÁô
ôìä÷ý
÷÷Ž÷ö÷÷ or_insertÁ÷or_insert_withÁþŠ÷or_insert_with_keyÁŠ÷å÷
and_modifyÁƒŠ÷
or_defaultÁäŽÍäŠŠŽŠÍäŽŽŽŽÍä IndexedEntryÁý
Ž
öä˜ý
˜˜Ž˜ ˜ö˜˜¦˜·˜Ì˜å˜î˜ï˜ù˜˜˜è˜˜°˜Â˜¬˜½ä®®Ž®Íä²ý
²²Ž²ï㣠·········· ·
· · ·
········Íý
Í͎ͤ$ͽÍIntoIterÁÍŠ ·Õý
ÕÕŽÕ¤$Õ½Õª1ÕŠ ·Ýݎݤ$ݽݪ1ÝŠ ·IterÁäý
ääŽä£ ·éý
ééŽé éas_sliceÁ·ïý
ïïŽï½·ôôŽ·÷÷Ž÷¾ ·ûûŽ·þþŽþÈ· ŽÍ·
Ž>·IterMutÁŠý
ŠŠŽŠ£ · ý
Ž …3
into_sliceÁ· ý
޽·
Ž·žžŽž¾ ·¢¢Ž·¥¥Ž¥Í·©©Ž©>·IterMut2Á­ý
­­Ž­£ ·²ý
²²Ž² ²…3²³5·¹ý
¹¹Ž¹½·¾¾Ž·ÁÁŽÁ¾ ·ÅÅŽ·ÈÈŽÈÍ·ÌÌŽÌ>·ÐÐŽÐ Ð…3Ð as_mut_sliceÁ·ÖÖŽÖ½·ÚÚŽ·Ýݎݾ ·áᎷääŽäÍ·èèŽè>·DrainÁìý
ììŽì£ · ñý
ññŽñ ñ…3·!÷÷Ž÷½·"ûûŽ·#þþŽþ¾ ·$Ž·%ŽÍ·KeysÁý
Ž£ ·&Žý
ŽŽŽŽ ·'ý
޽·(˜˜Ž·)޾ ·*ŸŸŽ·+¢¢Ž¢È·,¦¦Ž¦Í·-ªªŽª>·.®®Ž®Ø®ö·IntoKeysÁ³³Ž³£ ·/··Ž· º ·0¼¼Ž¼È¿ ·1ÁÁŽÁ½·2ÅÅŽ·3ÈȎȾ ·4ÌÌŽ·5ÏÏŽÏÍ·6ÓÓŽÓ>·ValuesÁ×ý
×׎ף ·7Üý
ÜÜŽÜ ·8áý
ááŽá½·9ææŽ·:ééŽé¾ ·;í펷<ððŽðÈ·=ôôŽôÍ·>øøŽø>· ValuesMutÁüý
üüŽü£ ·?ý
Ž ·@ý
޽·AŽ·BŽŽŽŽ¾ ·CŽ·DŽÍ·EŽ>·
IntoValuesÁŽ£ ·F¡¡Ž¡ ¤ ·G¦¦Ž¦È© ·H««Ž«½·I¯¯Ž·J²²Ž²¾ ·KŽ·L¹¹Ž¹Í·M½½Ž½>·SpliceÁÁý
ÁÁÁŽÁ¤$Á
ÁtailÁÁèÁ replace_withÁ·NËý
Ë—GËˎˤ$Ë Ñë·OÓ—GÓÓŽÓ¤$Ó²·PÙ—GÙÙŽÙ¤$ٽ٥ Ù size_hintÁ·Qá—GááŽá¤$á next_backÁ·Rç—GççŽç¤$ç¾ ·Sí—GííŽí¤$·Tò—GòòŽò¤$òÍ· ExtractIfÁøý
øøŽøŠøµ
øpredÁ·UÿÿŽÿŠÿ ƒë·VŽŠ½¥ Š ‡I·WŽŠ·XŽŠÍãmutableÁ 
  MutableKeysÁ£KeyÁ£ª%£
get_full_mut2Á¦£get_index_mut2Á£ iter_mut2Á£retain2ÁªŠ¬¬Ž¬¤$¬™M¬ª%¬¬M²¬ÉM¬ßM¬ðMŠMutableEntryKeyÁ¸™M¸î»»Ž»™M»îÀÀŽÀ™MÀîÅÅŽÅ™MÅîÊÊŽÊ™MÊîSealedÁÐЎФ$ÔÔŽ×׎ÚÚŽ ÝÝŽãîàààààààààà à
à à à
àààààààààààààààSliceÁýýŽý®àŽ
from_sliceÁfrom_mut_sliceÁ
from_boxedÁ
into_boxedÁàˆˆŽˆÛˆ Œý
ˆnew_mutÁŽý
ˆ¾ ˆis_emptyÁˆ get_indexÁˆ
get_index_mutÁˆ get_rangeÁëˆ
get_range_mutÁëˆfirstÁˆ first_mutÁˆ¸ ˆlast_mutÁˆsplit_atÁˆ split_at_mutÁˆsplit_at_checkedÁˆsplit_at_mut_checkedÁˆ split_firstÁˆsplit_first_mutÁˆ
split_lastÁˆsplit_last_mutÁˆ£ ˆ§ ˆkeysÁˆ into_keysÁˆˆ
values_mutÁˆ into_valuesÁˆbinary_search_keysÁ« ˆbinary_search_byÁ­ý
­Š­ ˆbinary_search_by_keyÁ±ý
±ö±Š± ˆ is_sortedÁ ˆ is_sorted_byÁ¸ý
¸Š¸ ˆis_sorted_by_keyÁ¼ý
¼Š¼¼ ˆpartition_pointÁÁÁ ˆget_disjoint_mutÁÄÍÄ Ä ˆget_disjoint_opt_mutÁÈÍÈ È È àÍý
Í͎ͪ1ͽ͊ àÔý
ÔÔŽÔª1Ô½ÔŠ àÛÛŽÛª1Û½ÛŠ àááŽá>àååŽå>àééŽé>àííŽíÈà ññŽñïà
õõŽõÍà ùùŽùK2ÁùV2ÁùÕþ à Žü\†]Õà
Žü\†]ÕŒ àŽ Ž ŽŽ ü\Ž †]Ž ÍŽ Ž Õ àŽÍü\†] ÕàŸ Ÿ Žà¢ ¢ Ž¢ ¤ ঠ¦ ަ Ðઠª Žª ¢­ ௠¯ ޝ د öà´ ´ Ž´ ÷à
impl_indexÁã raw_entry_v1Á¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹ ¹  ¹ 
¹  ¹  ¹ 
RawEntryApiV1ÁÇ Ç ŽÇ ¤$Ç Ã`Ç raw_entry_mut_v1Á¹ Í Í ŽÍ ¤$Í Ã`Í Ía¹ RawEntryBuilderÁÓ ý
Ó Ó ŽÓ ¤$Ó 
¹ Ù Ù ŽÙ ¤$٠͹ Þ ý
Þ Þ ŽÞ ¤$Þ from_keyÁã Þ from_key_hashed_nocheckÁå Þ úç ŠÞ from_hash_fullÁé ŠÞ index_from_hashÁë Š¹ RawEntryBuilderMutÁí ý
í í Ží ¤$í 
¹ ó ó Žó ¤$ó ͹ ø ý
ø ø Žø ¤$ø ›cý ø ³cÿ ÿ ø ú
й  RawEntryMutÁ
ý


Ž
¤$
 +

ì
½+Œ
Œ
ì¹ 

Ž
¤$
͹ 
ý


Ž
¤$
ö
…,
,
Š
Þ,
й RawOccupiedEntryMutÁŸ
ý
Ÿ
Ÿ
ŽŸ
¤$Ÿ
µ
Ÿ
 hash_builderÁ¹ ¦
¦
ަ
¤$¦
͹ «
ý
«
«
Ž«
¤$«
ö«
å«
î«
ü«
ï«
ù«
«

get_key_valueÁ«
get_key_value_mutÁ«
into_key_value_mutÁ«
«

insert_keyÁ«
£«
°«
«
Õ«
è«
«
¬«
½¹ RawVacantEntryMutÁÄ
ý
Ä
Ä
ŽÄ
¤$Ä

Ä
h¹  Ë
Ë
ŽË
¤$Ë
͹ 
Ð
ý
Ð
Ð
ŽÐ
¤$Ð
öÐ
Ð
insert_hashed_nocheckÁÐ
Ð
shift_insert_hashed_nocheckÁ¹ ŸP¹  Û
Û
ŽÛ
¤$ã serde_seqÁß
ß
ß
ß
ß
ß
ß
ß
ß
ß
 ß

ß
 ß
 ß

ß
ß
ß
ß
ß
ß
ó
ó
Žó
­$ö
ß
ø
ø
­$ú
'ß
­$ü
ü
Žü
¤$ü
ß

SeqVisitorÁ
  Ž ¤$ ìß
 ‡%  Ž ¤$ ª% ·% †(Ž Ù%ß
‡& ‡% š&  Ž ¤$ãããããããããã ã
ã ã ã
ããããããããããããããããããã ã!ã"ã#ã$ã%ã&ã'ã(ã)ã*ã+ã,ã-ãÒ Ä Ä ŽÄ ¤$Ä ³Ä ‚hãÊ Ê ŽÊ ¤$Ê ÈÊ ËãÐ Ð ŽÐ ¤$Ð ÍãÕ Õ ŽÕ  Õ ÆãÚ Ú ŽÚ ¤$Ú with_capacity_and_hasherÁÚ  with_hasherÁÚ ÛÚ ïÚ Ú ã ŠÚ »Ú hasherÁÚ ¾ Ú „TÚ £ Ú § Ú àVÚ ìVÚ Ú …WÚ —WÚ ËÚ ØÚ èò ëÚ ïô Šô ëÚ ýÚ ÂÚ ÑÚ æÚ Ú 
shrink_to_fitÁÚ ­ãþ þ Žþ ¤$þ þ œþ ¥þ ¹ Š þ Ûˆ öˆ Šþ 
insert_beforeÁþ þ ˜þ Á
þ spliceÁ ë —Gþ appendÁ S2Áã  Ž ¤$ ¢˜   contains_keyÁš  ïœ  ˜iž  get_fullÁ   É¢  ù¤  ­i¦   get_full_mutÁ¨  ÈYª ª ͪ ª ª ª °  £²  Õ´  °  è¸  äº  ¼  ¾  ÃÀ ã  Ž ¤$ ¾ pop_ifÁÇ impl FnOnce(&K, &mut V) -> boolÁ retainÁÉ ŠÉ   sort_keysÁÌ Í  sort_byÁÏ ŠÏ Ñ   sorted_byÁÓ ŠÓ   sort_by_keyÁÖ Ö ŠÖ Ù  sort_unstable_keysÁÛ Ü  sort_unstable_byÁÞ ŠÞ à  sorted_unstable_byÁâ Šâ  sort_unstable_by_keyÁå å Šå è  sort_by_cached_keyÁê ê Šê í  ªW ÉWð ý
ð ŠÂ öWó ý
ó öó ŠÂ ¯XÂ ÅXø ý
ø ŠÂ îXû ý
û Šû  £Yÿ ºY Ü …3 ™9 into_boxed_sliceÁ ”T ¥T get_index_entryÁ get_disjoint_indices_mutÁˆ
͈
ˆ
 ºTŒ
ë ÓTŽ
ë ðT ýT  first_entryÁ ¸  U 
last_entryÁ ˆ  Ó ¬Â ½ãš
š
Žš
š
¤$š
Øš
öã¡
¡
Ž¡
¡
¤$¡
÷ã §
§
ާ
¤$§
ا
öã
­
­
Ž­
¤$­
÷ã ²
²
޲
¤$²
ò
—Gã ¸
¸
ޏ
͸
¸
ï½
ã
¿
¿
Ž¿
¤$¿
extendÁÃ
—GÃ
ãÆ
ý
Æ
Æ
ŽÆ
¤$Æ
™ƒË
—GË
ãÎ
Î
ŽÎ
¤$Î
>ãÓ
Ó
V1ÁÓ
S1ÁÓ
†]Ó
ëvÓ
ÕÙ
Ú
ãÜ
Ü
ŽÜ
¤$setÁà
£ á
á
á
á
á
á
á
á
á
á
 á

á
 á
 á

á
á
á
á
á
á
õ
ý
õ
õ
¤$õ
½õ
ª1õ
Š á
ü
ü
¤$ü
½ü
ª1ü
Š á
´2ý
£ á
ý
 …3á
ý
½á
á
¾ á
á
Èá
Íá
 œœ>á

ŸŸ Ÿ…3á
 ££½á
 ¦á

¨¨¾ á
«á
­­Íá
°°>á
Ê:³ý
³³£ á
·ý
·· ·…3á
¼¼½á
¿á
ÁÁ¾ á
Äá
ÆÆÍá

DifferenceÁÉý
Éɤ$É£ Éî á
Ïý
ÏϤ$Ï Óª„á
Õý
ÕÕ¤$Õ½Õ¥ Õ‡Iá
Üܤ$ܽIá
àà¤$á
ãã¤$ãÈá
çç¤$çÍá
 IntersectionÁëý
ëë¤$ë£ ëî á
ñý
ññ¤$ñ õª„á
÷ý
÷÷¤$÷½÷¥ ÷‡Iá
þþ¤$þ½Iá
 ¤$á
!¤$Èá
"¤$Íá
SymmetricDifferenceÁý
ª„ëv£ á
#ý
ª„ëv á
$ý
ª„ëv½¥ ‡IfoldÁ¡ö¡Šá
%¤¤ª„¤ëv¤½I¤rfoldÁ©ö©Šá
&¬¬ª„¬ëvá
'°°ª„°ëv°Èá
(µµª„µëvµÍá
UnionÁºý
ºº¤$º£ á
)¿ý
¿¿¤$¿ Ãëvá
*Åý
ÅŤ$Žť ŇIÅÌöÌŠá
+ÏϤ$ϽIÏÃÓöÓŠá
,ÖÖ¤$á
-ÙÙ¤$ÙÈá
.Ýݤ$ÝÍá
Gáý
á—Gáá¤$ᣠá
/çý
ç—Gçç¤$ç ìëá
0î—Gîî¤$î½î¥ î‡Iá
1õ—Gõõ¤$õ½Iá
2ú—Gúú¤$ú¾ á
3ÿ—Gÿÿ¤$á
 UnitValueÁƒ
ƒ—Gƒìá
4—G½¥ Š á
5Œ—GŒŒ¤$ŒÍá
6—GÍá
ÍJý
е
†Ká
7ššŠš ëá
8ŸŸŠŸ½Ÿ¥ £ Ÿ‡Iá
9¦¦Šá
:©©Š©Íà
»L­­­­­­­­
MutableValuesÁµª%µ¬M·µÉMµðMºŠ­¼¼¤$¼ª%¼¬MÀ¼ÉM¼ðMÊà ­ŸP­ÇǤ$à
îÊÊÊÊÊÊÊÊÊÊ Ê
Ê Ê Ê
ÊÊÊÊÊÊʲRßß®ÊââìRâ”Sâ¦SÊççÛç êý
ç¾ ç„Tç”TçºTïëçðTç¸ ç¦UçÊUçþUç¨Vç£ ç
binary_searchÁø çÉWúý
úŠú çöWþý
þöþŠþ ç¯Xƒ çÅXý
Š çîXý
Š ç£YŽºYŽ Êý
ª1½Š ʪ1½Š Êœœ>ÊŸŸ>Ê¢¢ÈÊ¥¥ïʨ¨ÍÊ ««œ*«Õ® Ê
°°œ*°Õ³ Ê µµœ*µÕ¸ Ê ººœ*ºÍº ºÕ¿ Ê
ÁÁÍÁœ*Á ÁÕÊÇÊÉɤ ÊÌÌÐÊÏÏ¢Ñæ_ÊÓÓØÓöʱ`à
à
à
à
à
à
à
à
à
à
 à

à
 à
 à

à
à
à
à
à
à
à
à
à
à
à
à
à
à
à
à
à
à
à
BucketÁøà
Ç úú¤$ú
à
þþ¤$þÈþËà
ƒƒ¤$ƒÍà
 Æà
¤$úršsÛÝs¾ „T£ ËØèëïŠëýÂÑæ“u­à
§§¤$§§œ§¥§¹­Š­ §Û°ö°Š° §’v§§replaceÁ§¯§˜§
differenceÁ¹ý
¹ëv§symmetric_differenceÁ¼ý
¼ëv§ intersectionÁ¿ý
¿ëv§CÂý
Âëv§¿vÅëÅ—G§ÝvÈëvà
Êʤ$ÊcontainsÁÍÊïÏÏ ÊÞwÒÒ ÊÉÕÊ£×ʰÙÊÂÛÊtakeÁÝÊ swap_takeÁßß Ê
shift_takeÁââ Êäåå ÊÃèè à
ëë¤$ë¾î ë˜zðimpl FnOnce(&T) -> boolÁëÍzòŠò ësortÁëƒ{öŠö ë¤{ùŠù ëÂ{üüŠü ÿ ë
sort_unstableÁë“|Š ë½|Š ëä|ˆˆŠˆ  ëš}Š  븜ëÉWý
ŠëöWý
öŠë¯XëÅXý
ŠëîXžý
žŠžë£Y¢ºYëÜë…3ëö~ë”TëºT¨ëëðTë¸ ëˆ ¬ ëÓ® ë¬ë½à
²²¤$²Ø²öà
··¤$·òº—Gº à
 ½½Í½ ½ïÁ à

Ãä$كƗGÆ à
 Éý
Éɤ$É™ƒÍ—Gà
 ÏϤ$Ï>à

ÓÓª„ÓëvÓÕà
ØØ¤$à
ÛÛ¤$Û is_disjointÁÞëvÞ Þ Û is_subsetÁâëvâ Û is_supersetÁåëvà
ç窄çëvçØçëà
ííª„íëvíØííà
óóª„óëvóØóðà
ùùª„ùëvùØù»ïŽÈËŽkey_refÁ value_refÁ value_mutÁå˜ key_valueÁrefsÁref_mutÁmutsÁ
from_allocÁfrom_hashbrownÁ˜ÍÍï¥ ï‡IïÃïnthÁï¸ ïcollectÁ£kô½Iônth_backÁ¥ ‡IÃþµ¸ ‘¶¬k½I¯¶¹¥ ¹‡I¹Ã¹þµ¹¸ ¹‘¶µk¾½I¾¯¶·ª1¹¹Ž¹£ ·Y½½Ž½ÈÖ¥ Ö‡IÖÃÖþµÖ¸ Ö‘¶ÆkÚ½IÚ¯¶÷¥ ÷‡I÷Ã÷þµ÷¸ ÷‘¶Ïkû½Iû¯¶¥ ‡IÃþµ¸ ‘¶Øk˜½I˜¯¶Á¥ Á‡IÁÃÁþµÁ¸ Á‘¶ákŽIů¶á¥ á‡IáÃáþµá¸ á‘¶êkæ½I毶¥ ‡IÃþµ¸ ‘¶ók½I¯¶«¥ «‡I«Ã«þµ«¸ «‘¶ük¯½I¯¯¶àޤ$ØöàŽ¤$÷àŽØöàŽ÷àŽ¤$ØöàššŽš¤$š÷àŸŸŽŸØŸöà¤¤Ž¤÷à¨¨Ž¨¤$¨Ø¨öà®®Ž®¤$®÷à ³³Ž³Ø³öà!¸¸Ž¸÷à"¼¼Ž¼¤$¼Ø¼öà#Âޤ$Â÷à$ÇÇŽÇØÇöà%ÌÌŽÌ÷à&ÐЎФ$ÐØÐöà'ÖÖŽÖ¤$Ö÷à(ÛÛŽÛØÛöà)ààŽà÷à*ääŽä¤$äØäöà+êêŽê¤$ê÷à,ïïŽïØïöà-ôôŽô÷à.øøŽø¤$øØøöà/þþŽþ¤$þ÷à0ƒƒŽƒØƒöà1ˆˆŽˆ÷¥ ‡IÃþµ¸ ‘¶k½I¯¶á
ª1£ á
;˜˜È£¥ £‡I£Ã£þµ£¸ £‘¶ k¦½I¦¯¶¼¥ ¼‡I¼Ã¼þµ¼¸ ¼‘¶©k¿½I¿¯¶Ê­­¤$­Ø­öʲ²Ø²öʤ$ØöÊ»»Ø»öÊ¿¿¤$¿Ø¿öÊÄÄØÄöÊÈȤ$ÈØÈöÊÍÍØÍöÊÑѤ$ÑØÑöÊÖÖØÖöÊÚÚ¤$ÚØÚöÊßߨßöÊãã¤$ãØãöÊ èèØèö HashValueÁì
ìì ðÈ
 óÍ 
öÕ‰£øøŽø¢øåø˜þþŽŽÍTryReserveErrorÁ¯ ÈŠÕŒ˜ŽÍTryReserveErrorKindÁStdÁ
ìCapacityOverflowÁ

AllocErrorÁlayoutÁ˜ÈÕ˜ŸÍGetDisjointMutErrorÁ¡IndexOutOfBoundsÁ¢
¡OverlappingIndicesÁ¤
¦Í¨È«Õ­˜#
#
'
(
*
+
,
-
/
6
L
M
N
S
S
S
S
V
V
e
o
r
s
v
v
x



ž
 
¢
¢
©
ª
ª
²
³
´
´

·
¸
¹
º
¼
½
¿
¿
À
Á
Â
Ã
Ä
Å
Æ
Ç
Ç
É
É
É
Ì
Í
Î
Ï
Ï
Ñ
Ñ
Ó
Õ
Õ
Õ
Ø
Ù
Ú
Û
Ü
Ý
ß
à
á
â
ã
ä
å
ç
è

¡
¡
¡

Â
Â
Â
ß
ß
ß
ß
û


ƒ




Š



Ž




Ÿ
 
¢
£
¤
¥
¦
®
±
±
±
î
ô
÷
ú
û
þ








ž
¡
¢
¥
¨
¨
¨
©
·
¾
Á
Ä
Å
È
Ë
Ë
Ë
Ì
Ô
Õ
à
ç
ç
ç
ö
÷
û
þ



ˆ
ˆ
ˆ
˜

ž
Ÿ
¢
¥
¦
©
©
©
ª
®
²
¿
Ë
Ò
Ò
Ò
æ
é
ì
í
ð
ó
ô
÷
÷
÷
ø

Ž



˜
˜
˜

©
µ
¼
¼
¼
Ó
Ø
Ù
ß
à
á
æ
ç
ì
í
ò
÷
÷
÷
ÿ
ƒ
ƒ
ƒ



Š
Œ







¦
¦
¨
©
ª
ª
ª
²
²
´
µ



º
»
¿
À
Ä
Å
É
Ê
Î
Ô
×
Ú
Ý








˜

š

œ

ž
Ÿ
 
¡
¢
£
¤
¥
¦
¨
©
«
«
±

Á
Á
Á
Ä
È
á
å
ð
ñ
ô
ø
ø
ø
þ
þ


Œ
Œ


ž
ž
¥
¥
©
©
­
­
³
·
Ë
Ì
Ñ
Ò
Ù
Ý
Ý
Ý
ã
å
ç
é
ë
ó
÷
÷
÷
ý
ÿ








¦
ª
ª
ª
°
±
²
´
µ
·
¸
º
»
Ë
Ï
Ï
Ï
Õ
ö
ú
ü



Î
Ï
Ï
Ô
Ô
Ô
á
â
ã
ã
å
æ
ç
è
é
ê
ë
í
î
ð
ñ
ò
ô
ô
ô
÷
ø
ù
ú
û
ü
ý

ƒ






ˆ
ˆ
ˆ

Œ

Ž



˜
˜
š
š
œ
œ
ž
ž
 
 
¢
¢
¤
¤
¦
¦
¨
¨
ª
ª
²
²
´
´


¸
¸
º
º
¼
¼
¾
¾
À
À
Æ
Ç
Ç
Ç
É
É
É
Ì
Ï
Ï
Ï
Ï
Ï
Ó
Ó
Ó
Ó
Ö
Ö
Ö
Û
Þ
Þ
Þ
Þ
Þ
â
â
â
â
å
å
å
ê
ê
ê
ï
ï
ó
÷
ÿ
ÿ
ÿ


ƒ



ˆ
Œ
Ž








˜

š
 
 
¡
¦
¦
¬
±
Ã
Ë
Ù
Ù
Š





˜




œ
¢
ª
¯
¯
¯
»
¼
¿
Á
Ã
Ä
Æ
È
È
È
Ú
Û
Ü
ß
à
ã
æ
ç
ê
ê
ê
ü
ý
þ



ˆ

Œ
Œ
Œ
Ÿ
 
¤
¨
¬
°
´
µ
¹
¹
¹
Ê
Ë
Ï
Ò
Ö
Ù
Ü
Ý
à
à
à
î
ó
ô
õ
ù
ú
þ
ÿ
Š
Œ






š


Ÿ
Ÿ
£
¥
¦
¦
©
¬
¬
¬
·
·
¹
º
º
À
À
Â
Ã
Ã
ä
ì
í
î
ï
ñ
ò
ó
ô
õ
ö
÷
ø
ø
þ
ƒ
Ž
Ž
œ
¤
¥
§
ª
ª
ª
®
®
³
³
¸
¸
¿
¿
Æ
Æ
Ë
Ë
Î
Î
Ñ
Ñ
Ö













˜

š



 
¡
¢
£
¤
¥
¦
ª
«
¬
­
­
­
°
°
´
µ

·
¸
Å
È
È
Í
Í
Ï
Ï
Ò
Ò
Õ
Õ
×
×
Ù
Ù
Û
Û
Ý
Ý
ß
ß
â
â
å
å
è
è
î
ð
ð
ò
ò
õ
ö
ö
ö
ù
ù
ü
ü






ˆ
ˆ





š
¢
¢
¤
¥
§
¨
ª
«
¬
®
°
±

Æ
Í
×
×
Þ
Þ
â
â
å
å
ç
ç
ì
í
í
ò
ó
ó
ø
ù
ù
þ

ˆ
ˆ
Œ

Ž






œ
œ
œ
ž
Ÿ
¡
¥
¦
§
¨
ª
®
¯
°
±
³
·
¸
À
Á
Â
Ä
È
É
Ê
Ë
Í
Ñ
Ò
Ó
Ô
Ö
Ú
Û
Ü
Ý
ß
ã
ä
å
æ
è
ì
í
î
ï
ñ
õ
ö
÷
ø
ú
þ
ÿ

Š



ž
£
§
­
²
·
»
Á
Æ
Ë
Ï
Õ
Ú
ß
ã
é
î
ó
÷
ý



Œ




š

œ
ž
¢
£
¤
¥
§
«
¬
±
µ
º
¾
Ã
Ç
Ì
Ð
Õ
Ù
Þ
â
ç
ë
ñ
ô
ô
ô
÷
÷



ˆ







œ
œ
ž
 
 
 
§
§
§
©
¬
¬
®
8œý
£¸ÏÇ Ú
撣
öÔ4·—E©jý
Žá-
äöäŠð÷ìžé—|ý
‘ö—ö ggók
\l¡\m¯\nÏ\¬6{29©"8‘ö—öÞƒŸ®ë„ÀpÔŽ®AÄ Ä Ò È ³É ‚hã’|suï,Fý÷ƒø¤$©<Æ$šìñ /lÅèAµÙ‘ö—ö¤$‡%Ø;Ä Ä Ò È ³É ‚hã’|suï,F‘ö—ö–ù‡% ©ù‡%È&®AúúÇ ý
ˆSÃ0aé΋¤$©<¸¸¹¥'¼ìñ S²õÎUÖ°Ðø‡%Ø;úúÇ ý
ˆSÃ0aé΋ûÐø‡% ˜û‡%È&à`íñò +óìôõ½+öìõ…q§Ø Ýñ8‘ö—öà`
öÔ4·—E©j8‘ö—öà`AAE
F¢GåD”}hÄ,78‘ö—öà`á-
äöäŠð÷ìžé—|8‘ö—öúöÎõ®J ý
©ù®J ý
©ù®JøÞKää´2è£ ·#P9áͼÑÈý
‘ö—öòJää´2è£ ·#P9áͼÑÈ8‘ö—ö©KºÿÖNºÿÞºÿà`ºÿĺÿÞKŠŠ×4Ž£ ·îüU…°ý
‘ö—öòJŠŠ×4Ž£ ·îüU…°8‘ö—ö©Kô€ÖNô€à`ô€Äô€ÞK­­ê6±£ ·eÃ”ÒøA¦ý
‘ö—öòJ­­ê6±£ ·eÃ”ÒøA¦8‘ö—ö©K£‚ÖN£‚à`£‚Ä£‚Þ¹¹ª1¼£ ·ÅŒ¦ô`Zb[ý÷ƒøÞKƒòJƒ©KƒÖNƒà`ƒÄƒÞKììÊ:𣠷úÔ(ý8‘ö—öòJŽ„©KŽ„ÖNŽ„à`Ž„ÞK¥<£ ·m]N ÞÌQý
‘ö—öòJ¥<£ ·m]N’ ÞÌQ8‘ö—ö©K½…ÖN½…Þ½…à`½…Ľ…¦˜½…Þ³³Ý>£ ·L¹Ç¹xMqý÷ƒøÞKĆòJĆ©KĆÖNĆà`ĆÄĆÞK×׿@Û£ ·!pDhvk=ý
‘ö—öòJ×׿@Û£ ·!pDhvk=8‘ö—ö©K„ˆÖN„ˆÞ„ˆà`„ˆÄ„ˆÞKüüûB£ ·O¦}ÈÎ-dDý
‘ö—öòJüüûB£ ·O¦}ÈÎ-dD8‘ö—ö©K¾‰ÖN¾‰à`¾‰Ä¾‰ÞöD £ ·¸À¼rI@ßý÷ƒøÞK«ŠòJ«Š©K«ŠÖN«Šà`«ŠÄ«Š ÁÁGÇ
·ÈÀG·Éè·ÊÔG·Ë'tNf!Í8—Gޤ$ÞK©‹òJ©‹©K©‹ÖN©‹à`©‹ÞKøøÍJýµ
·þ†K·¹%hµáÙŠ˜8‘ö—öŠÖNÕŒà`ÕŒ£ø¸ðû¸Ëü¸œý¸íýÏøÏðûÏËüÏœýÏíý®J ý
ýý²R®o×üúH°A‘ö—ö®J ý
²Ž®JBoxÁ샚íƒlÕ°Ù[¢'õýý²R®o×üúH°Aý÷ƒø•E•EEGlobalÁ Ï€ûkW¬ sÄ 8²ŽÄ 8²ŽÄÞúŽŽìƒšíƒlÕ°Ù[¢'õ²Žô¦à`ÀžÀýý²R®o×üúH°Aü\†]žÀ
ê‘ð‘ž
ý÷ƒø¾‘žÀ‚’Íž“’Íýý²R®o×üúH°Aü\†]£ÀÉÀÀÃÀ»bÀ¦˜ÀÀ¦˜øΘΘæИŒјÏ‰’ûÜžûñ'øד¦˜ÀדÀד¦˜øä˜ä˜é昌›ÌÛHÑSÉøË”¦˜ÀË”ÀË”¦˜ø»˜»˜¼˜ë ù¾w>°¡Qøµ•¦˜Àµ•Àµ•¦˜øŠ™Š™ìŒ™ŒÏŽ™ exhaustedÁÅãNL¿ø—–¦˜À—–À—–¦˜øø˜ø˜ñú˜Ïg,÷QþŒø¤—¦˜À¤—À¤—¦˜øòŸ™Ï×µ'„œÅáøŽ˜¦˜ÀŽ˜ÀŽ˜¦˜ø´™¶™·™IncludedÁ¸™ì¹™º™ExcludedÁ»™ì¼™½™ UnboundedÁ,]å,8I4ú˜øø˜¦˜Àø˜Àø˜Ç øý÷ƒøÐøà`Ó Ó ’bØ 
¹ †´•‡4ÀhI8‘ö—ö–ùà`í í §dò 
¹ ÓV•ãÂ8Ø8‘ö—ö–ùà`

Š
 +
ìŒ

½+Ž
ìÁ?/ò¿òi—8‘ö—ö–ùà`Ÿ
Ÿ
¿g¤
µ
¹ ¥
h¹ s
¼jZÅe8‘ö—ö–ùà`Ä
Ä
ºjÉ

¹ Ê
‚h¹ Cãé)2y>K8‘ö—ö–ùÚ
ø®AÀ®Aßß²Rá®øÆÑˆ†¨`á½ú©<   ¤n ìß
 b¸m¦œÁ‘ö—ö–ù‡%Þøà`ø¦˜Ä Ä Ò È ³É ‚hã’|suï,F‘ö—ö‘Œ 8þžŸ¦˜øøªJø“’úÄ Ä Ò È ³É ‚hã’|suï,Fý÷ƒø°G°G RandomStateÁ±Gk0ÁɲGk1Áɦ/ÚQø¼’·Jø“’·J©ù ý
‘ö ý
—öÄøžÄ Ä Ò È ³É ‚hã’|suï,Fý÷ „ª„Ä Ä Ò È ³É ‚hã’|suï,Fý÷ð‘ëv£ø®J ý
˜û®J‘úÞK´2£ á
¹ÉHØ8m•fý
ûòJ´2£ á
¹ÉHØ8m•f8û©KÜ£ÖNÜ£ÞÜ£à`Ü£ÄÜ£Þª1£ á
iâÐaõÊ5V½úÞKФòJФ©KФÖNФà`ФÄФÞK³³Ê:£ á
€v¬ÅžÒ¥£8ûòJÊ¥©KÊ¥ÖNÊ¥à`Ê¥ÞKÉɽŠÍ£ á
Îî á
Ÿe/v6LE>ý
ûÐøòJÉɽŠÍ£ á
Îî á
Ÿe/v6LE>8ûÐøÖN‚§Þ‚§à`‚§ÞKëëÆŒï£ á
ðî á
Ó¡0иç(ý
ûÐøòJëëÆŒï£ á
ðî á
Ó¡0иç(8ûÐøÖNÀ¨ÞÀ¨à`À¨ÞKÑŽ£ á
m5{좥]‡ý
û¢¢ëvòJÑŽ£ á
m5{좥]‡8û¢¢ë©ÖNø©Þø©à`ø©ÞKººÊ‘¾£ á
Œûâf9éÕKý
ûÐøòJººÊ‘¾£ á
Œûâf9éÕK8ûÐøÖN¢«Þ¢«à`¢«ÞKááGæ£ á
Œ©nôT8ÿ‹–ùòJ…¬©K…¬ÖN…¬ÞKƒƒø•ìá
 cm¤$€~—Gà`…¬à`í¬ÞKÍJ˜µ
á
†Ká
¾¸j=sl…8ûŠÖN­à`­µ‘úÆ‘ú®J ý
ßß²Rá®øÆÑˆ†¨`áû®JŽŽìƒšíƒlÕ°Ù[¢'õæôÄ 8îÄû®Þû®úŽŽìƒšíƒlÕ°Ù[¢'õîôȯà`æžæßß²Rá®øÆÑˆ†¨`áœ*žæ
û°ž
½úϰžæû°Íž½úÍßß²Rá®øÆÑˆ†¨`áœ*£æÉææÃæ»b榘榘‘úד¦˜æד¦˜‘úË”¦˜æË”¦˜‘úµ•¦˜æµ•¦˜‘ú—–¦˜æ—–¦˜‘ú¤—¦˜æ¤—¦˜‘úŽ˜¦˜æŽ˜¦˜‘úø˜¦˜æø˜Þ‘úà`‘ú¦˜‘úªJ‘ú½úúúúÇ ý
ˆSÃ0aé΋½úР½±·J‘ú½ú·J˜û ý
ûÄ‘úžúúÇ ý
ˆSÃ0aé΋½úª„úúÇ ý
ˆSÃ0aé΋½úëv£‘úÃî 8úúÇ ý
ˆSÃ0aé΋»¬ª„ 8úúÇ ý
ˆSÃ0aé΋»¬é¢ãï¶ÿ¶ƒñ¶ÿ¶È¶ÿ¶áììíúÉîì oùo,?”áÞï·þï·à`ï·¬âï·žï·ï·þøø‰£û¢üåý˜GþŽè‚šWbý÷ƒøà`ã¸Þã¸Þ§Ë¯ [Z"ã6×@¬â˹ž˹˹£˹à`˹Þ”Ìì¬ÌÉÌÛÌáÌMÐÐô¬â°ºž°º°º£°ºà`°ºå`˹Ï˹à`¡¢£·Í¤¥ÔÍl3+NæLê#ÞÙ»¬âÙ»žÙ»Ù»£Ù»å`Ù»ÏÙ»;²ñ¸
Ä ¥½úoÁ¦þä½¹¢¼³ðצíÊ Ä ˜ãÉë°Ùº¢þúðìø˜¨¡Ä ³úó
ýø
ß½¸  ¤Ä Åú«Ä Ëú튎䥊ȭä¹ì¦Ï³ô×ü¹òÁøõýÙ Ó ó í

¦
Ÿ
Ë
Ä
Ð Ä ­Æ³çÉëµÝºŒáƒ©¨ßƒúóìøŽŸ¦¡Í
Õ
ÝÄ Í
Ô
Ûõ

ü
ú
ï䊹­Ö¹÷ìÁ³á×ü«ÙÁø£¼³ÕÉ÷ëźîჟô䊾­Ú¹ûì˜Å³æ×ü¯áÁ¦¿³ÜÉþë¤Ïºõá÷䞊Á­Ý¹þìȳé׎ü²çÁ¨Á³úáû䢊ŭá¹ìŸÌ³í×üíÁø«Ä³àÉë¬Öºÿá¦ä©ŠÌ­è¹ªÓ³ø×ü½á
å
éÎ
Ä œ°œ
ŸÏú®¯ ýÄ ýÄ Ÿý¨Ä ³ý¼Ä ÇýÐÄ ÛýäÄ ïýøÄ ƒýš
Ä §
Ä Óß­ú²ßú»ß¿úÄßÈúÍßÑúÖßÚúßßãúèß²ú¬Ä »íÀÅÐÄ Ôí×Úùýý Ž ýÓ
Ä «ß°ßµ ºßÁÓúö슫¡Ÿ ýÜ
Ä ÇߨúŒ­¡¢ ýÉߦ ýÌߪ ýÏß´ ýÄ ýšÄ ¤ý®Ä ¸ýÂÄ ÌýÖÄ àýêÄ ôýþÄ ˆý¡
Ä ­
Ä Í Ä Û
Ä ²
Ä ·ú¿
Ä Æ
Ä ÃúÉú¼úÇúç
í
ó
ù
ïìòìþøõ욪¡˜¡š¡ú (Þ ®Aš©<Ø; à`(®J
ÞK:òJš©KÖNiĦ˜"x£î¸Ïž!£dÉ1ûbÇ wÚ
ªJ·JµÆÃîãïƒñÈáþ¬âå`Ï¬ê¼ÆÌ‚
¼‚
˜ã¸+üê1# 3  šüÆV®È­9ϼÆ

Ñ+T
D
æAã¸-üÜV
ý÷ƒø ±¸ü°ˆ¯Æ÷ËË HashTableÁÎ@
Gt޽¾ ¯vó÷õüP-ßAßA­âAbufÁ«<ãA¾ «<µ[<™éã¸ôGÒ5 86jü©.Ž£/
ü½3ü¿1üÀ   À ïBO ÷øüè À 
ã¸<‡‚Ö§®Õ¦ ‘Ö§®&Q
¬œ­Œý÷ƒø ã¸ER_Ö ¯
„œ
ý÷ƒø­± ° ·Œüï
H‚ÖD‰‚ÖÿÖÿŒ×Œ×Ž×®Œ×#M
ã¸ETŒŒ×pŽ×`‘Ö”µ
 Â
Ýpã¸< ÆÍüŠC‚Ö,›Ö5‘Ö¼Ì
 
Þpã¸< âéüL‚ÖÖ4\¯'
L¯'
¯ý÷ƒø1dÈ'ü’'M
Ä ý÷ƒøÐø Þ'å' ä'üÖ&ß ø$ƒ'Ðødï&Æ÷ÌÐøŸ‚hN
ü¯0ü±.ì² æ ÞAN æçäüÝŠ æ,– 
øø‰£û¢üåý˜GþŽè‚šWb½ú°ßìÜÞë ¿ßì®&
¬Ý î ê½ú ÀßAN[½ß ð |
ƒ„Ý 
ä½ú¥© ñ  ÷ ø êü° H°ß °ß÷½ß÷üàÿüàþàï üàL
Àß<Kêüàgþà`w ¿ß”á 
 î 
ÝpÀß<  ò ù ìü¶ C °ß ½ß5
¿ß¼ê

 

ÞpÀß<
 íü»
L
°ß
½ß4ü•$#d«$
#¥$
ß ½úÃú;M ·$üù#J
ú½úÃú Â$É$ü½#Œ‘ú$ê#ÃúdÖ#Ä Ä Ò È ³É ‚hã’|suï,F½úÃúýÃúü‚h[ü·

ý÷ƒøÐø%2Æ$šìñ /lÅèAµÙý÷ƒøÐøwŠ PhantomDataÁÑ{·Ë…YÚý÷ƒøÐø·¾ä÷
¸½úÃú ¹-¸¸¹¥'¼ìñ S²õÎUÖ°½úÃúnŠÎèÑ{·Ë…YÚ½úÃú¡¨
í‘ö—ö"ò/íñò +óìôõ½+öìõ…q§Ø Ýñ‘ö—öˆ
öÔ4·—E©j‘ö—öÓÚ
í‘ö—ö"õ/þë;AAE
F¢GåD”}hÄ,7‘ö—öD”V

‘ö—ö–ù&Š
3

Š
 +
ìŒ

½+Ž
ìÁ?/ò¿òi—‘ö—ö–ùŸ
Ÿ
¿g¤
µ
¹ ¥
h¹ s
¼jZÅe‘ö—ö–ùÛâ4øV

‘ö—ö–ù&
3…ï?Ä
Ä
ºjÉ

¹ Ê
‚h¹ Cãé)2y>K‘ö—ö–ùŠÔ“
 ý÷ƒøÐø$ 1   ¤n ìß
 b¸m¦œÁý÷ƒøÐøvÀé~œýg
ƒŸ­)í¬5Ÿ­=D„Ý(
ìí%ï·18?ß5
%°º1éGéG§ËêG¯ ôe3ºÏˆ¸cjêñÒãà
ìíø¡³á,­#ç#¬!¬½ëÉ!Dü ìÙ!¬Ôíö!DÝîÒ Dß&Ä ÿÇ Dý&ú
EquivalentÁT'ü±Iü KH [`IndexMap`] is a hash table where the iteration order of the key-valueÁüX85 pairs is independent of the hash values of the keys.ÁËü•NK [`IndexSet`] is a corresponding hash set using the same implementation andÁää with similar properties.ÁË”… ### HighlightsÁ˜ËüœOL [`IndexMap`] and [`IndexSet`] are drop-in compatible with the std `HashMap`Áüì<9 and `HashSet`, but they also have some features of note:Á©Ëü­B? - The ordering semantics (see their documentation for details)Áüð@= - Sorting methods and the [`.pop()`][IndexMap::pop] methods.Áü±OL - The [`Equivalent`] trait, which offers more flexible equality definitionsÁü2/ between borrowed and owned versions of keys.Áü´MJ - The [`MutableKeys`][map::MutableKeys] trait, which gives opt-in mutableÁü‚MJ access to map keys, and [`MutableValues`][set::MutableValues] for sets.ÁÐË¬Ô ### Feature FlagsÁêËüîJG To reduce the amount of compiled code in the crate by default, certainÁü¹OL features are gated behind [feature flags]. These allow you to opt in to (orÁü‰LI out of) functionality. Below is a list of the features available in thisÁ crate.ÁáËüåOL * `std`: Enables features which require the Rust standard library. For moreÁüµ 0- information see the section on [`no_std`].Áüæ EB * `rayon`: Enables parallel iteration and other parallel methods.Áü¬
IF * `serde`: Adds implementations for [`Serialize`] and [`Deserialize`]Áüö
GD to [`IndexMap`] and [`IndexSet`]. Alternative implementations forÁü¾ NK (de)serializing [`IndexMap`] as an ordered sequence are available in theÁü  [`map::serde_seq`] module.Áü® NK * `arbitrary`: Adds implementations for the [`arbitrary::Arbitrary`] traitÁüý '$ to [`IndexMap`] and [`IndexSet`].Áü¥
PM * `quickcheck`: Adds implementations for the [`quickcheck::Arbitrary`] traitÁüö
'Ç„üžOL * `borsh` (**deprecated**): Adds implementations for [`BorshSerialize`] andÁüîLI [`BorshDeserialize`] to [`IndexMap`] and [`IndexSet`]. Due to a cyclicÁü»LI dependency that arose between [`borsh`] and `indexmap`, `borsh v1.5.6`ÁüˆMJ added an `indexmap` feature that should be used instead of enabling theÁœÖ feature here.ÁêËüî96 _Note: only the `std` feature is enabled by default._Á¨Ëü¬a^ [feature flags]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-sectionÁüŽ,) [`no_std`]: #no-standard-library-targetsÁü»,) [`Serialize`]: `::serde_core::Serialize`Áüè0- [`Deserialize`]: `::serde_core::Deserialize`Áü™1. [`BorshSerialize`]: `::borsh::BorshSerialize`ÁüË52 [`BorshDeserialize`]: `::borsh::BorshDeserialize`ÁÄ [`borsh`]: `::borsh`Áüš63 [`arbitrary::Arbitrary`]: `::arbitrary::Arbitrary`ÁüÑ85 [`quickcheck::Arbitrary`]: `::quickcheck::Arbitrary`ÁŠËÌŽ ### Alternate HashersÁ¨Ëü¬<9 [`IndexMap`] and [`IndexSet`] have a default hasher typeÁüé0- [`S = RandomState`][std::hash::RandomState],ÁüšIF just like the standard `HashMap` and `HashSet`, which is resistant toÁüäPM HashDoS attacks but not the most performant. Type aliases can make it easierÁìµ to use alternate hashers:ÁÓË ```Áäß use fnv::FnvBuildHasher;Áüü'$ use indexmap::{IndexMap, IndexSet};Á¤Ëü¨<9 type FnvIndexMap<K, V> = IndexMap<K, V, FnvBuildHasher>;Áüå63 type FnvIndexSet<T> = IndexSet<T, FnvBuildHasher>;ÁœËü 0- let std: IndexSet<i32> = (0..100).collect();ÁüÑ30 let fnv: FnvIndexSet<i32> = (0..100).collect();ÁÌ… assert_eq!(std, fnv);Áܧˤ« ### Rust VersionÁÀËüÄ96 This version of indexmap requires Rust 1.82 or later.ÁþËü‚KH The indexmap 2.x release series will use a carefully considered versionÁüÎKH upgrade policy, where in a later 2.x version, we will raise the minimumÁÔš required Rust version.ÁµËü¹" ## No Standard Library TargetsÁÜËüàMJ This crate supports being built without `std`, requiring `alloc` instead.Áü®JG This is chosen by disabling the default "std" cargo feature, by addingÁüù@= `default-features = false` to your dependency specification.ÁºËü¾=: - Creating maps and sets using [`new`][IndexMap::new] andÁüüNK [`with_capacity`][IndexMap::with_capacity] is unavailable without `std`.ÁüËPM Use methods [`IndexMap::default`], [`with_hasher`][IndexMap::with_hasher],Áüœ OL [`with_capacity_and_hasher`][IndexMap::with_capacity_and_hasher] instead.Áüì DA A no-std compatible hasher will be needed as well, for exampleÁü±!! from the crate `twox-hash`.ÁüÓ!OL - Macros [`indexmap!`] and [`indexset!`] are unavailable without `std`. UseÁü£"SP the macros [`indexmap_with_default!`] and [`indexset_with_default!`] instead.ÁêñÒãà
ìíø¡³ôáõô¬!óëÉ!òìÙ!ñíö!ðîÒ ïÄ ÿÇ îú²õä” #„Ú#lí#Lñ#Lü#,€$\…ž ¢œ«<z­ŽßA{memÁžÕ|ç§!}
hash_tableÁTÎë~Ä)tì Û‰£ø²õTúÉìƒúÉ탧ˊAógŒA T
 ¼D

‰£4"
ø ƒ$*
 û*,B
í á-dI
˜ úÉLc
ìúÉíÕD}
üÕ— 
Õü+
Èʺ¼«­›ü5!
}„\
mœr
LL
>ô—
ý
Ž©â‘ö  
©â—ö £
íñò +óìôõ½+öìõ…q§Ø Ýñý
‘ö—öœ
rtnpü¼d
Ê
 ý
ƒŸ®ë„ÀpÔ‘ö—öï·‘öꥣ‘ö
ý
‘ö—ö
Î
¢
åø
ü…"
ü˜F
C A view into an occupied entry in an [`IndexMap`][crate::IndexMap].Áüß%
" It is part of the [`Entry`] enum.Ál
ý
ŽÉ¥ ¢
Ú¥ ¥
‘öý
¼®
—öý
Îõ4·—E©jž
HJMOK®
Ĥ



üì&
ý
!Ž"! "É¥ õ
Ú¥ ø
Îõ#&'()*+,-./012345678:ñ
@BEGüÊÀ

ƒ§ï·ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Îõƒ§Š$$©â â
° °‘öŒø
°Ò­$…
#ý
‘ö—ö
î
¢$
is_matchÁD¬
y{΂
#<closure_kind>Á%<closure_signature>Á%<upvars>Á%%#%‘ö—ö¯ ¯ 
øø‰£û¢üåý˜GþŽè‚šWb‘ö—öü„
3
L
Îõƒ§
&ý
‘ö—ö
üÖ
0
± ±Îõ ±è¯ ï

'ý
‘ö—ö
üº<

² ²Îõ ²è¯ ×

(ý
‘ö—ö
ü®7

Îõ ý
è¯
)ý
‘ö—ö
äÚ
ü*
' Return the index of the key-value pairÁ,á
³ ³Îõ ç

*ý
‘ö—ö
¼Ú
ü—3
0 Gets a reference to the entry's key in the map.ÁÏ
Ëü×]
Z Note that this is not the key that was used to find the entry. There may be an observableÁü¹_
\ difference if the key type has any distinguishing features outside of `Hash` and `Eq`, likeÁü8
5 extra fields or the memory address of an allocation.Áá
´ ´Îõ ´‘ö å

+ý
‘ö—ö
¼Ø
üž5
2 Gets a reference to the entry's value in the map.Áß
µ µÎõ µ—ö ã

,ý
‘ö—ö
üì#
üž=
: Gets a mutable reference to the entry's value in the map.Áà
ËüèD
A If you need a reference which may outlive the destruction of theÁü±6
3 [`Entry`] value, see [`into_mut`][Self::into_mut].Á<ó
 Îõ —ö û

-ý
‘ö—ö$€
üÂ"
üÆF
C Converts into a mutable reference to the entry's value in the map,Áü‘,
) with a lifetime bound to the map itself.ÁDÉ
Îõ ý
—ö
.ý
‘ö—ö
üë'
ü˜N
K Sets the value of the entry to `value`, and returns the entry's old value.Á4ò
· ·Îõ—ö—ö ù

/ý
‘ö—ö
˜,„
ă
üÌV
S Remove the key, value pair stored in the map for this entry, and return the value.Á§
Ëü¯Y
V **NOTE:** This is equivalent to [`.swap_remove()`][Self::swap_remove], replacing thisÁüY
V entry's position with the last element, and it is deprecated in favor of calling thatÁüëV
S explicitly. If you need to preserve the relative order of the keys in the map, use矮4
1 [`.shift_remove()`][Self::shift_remove] instead.Á]`remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.Áüÿ

ëÁÎõ—ö
0ý
‘ö—ö$
ìÉ"
üÄV
¦¾Ÿ
Ëü§ _
\ Like [`Vec::swap_remove`][alloc::vec::Vec::swap_remove], the pair is removed by swapping itÁü‹!8
5 with the last element of the map and popping it off.ÁüÈ!G
D **This perturbs the position of what used to be the last element!**Á”"
Ëüœ"(
% Computes in **O(1)** time (average).Á\Ð"
Îõ—ö
1ý
‘ö—ö$Ü"
ô‘&
ü—#V
¦¾ò#
Ëüú#]
Z Like [`Vec::remove`][alloc::vec::Vec::remove], the pair is removed by shifting all of the矆$=
: elements that follow it, preserving their relative order.Áüž%9
6 **This perturbs the index of all of those elements!**ÁÜ%
Ëüä%(
% Computes in **O(n)** time (average).Ád˜&
Îõ—ö
2ý
‘ö—ö$¥&
ü¶+#
üá&J
G Remove and return the key, value pair stored in the map for this entryÁ°'
Ëü¸'V
S **NOTE:** This is equivalent to [`.swap_remove_entry()`][Self::swap_remove_entry],Áü“([
X replacing this entry's position with the last element, and it is deprecated in favor ofÁüó(_
\ calling that explicitly. If you need to preserve the relative order of the keys in the map,Áü×)D
A use [`.shift_remove_entry()`][Self::shift_remove_entry] instead.Áo`remove_entry` disrupts the map order -- use `swap_remove_entry` or `shift_remove_entry` for explicit behavior.Áü *
d½+
¬ÍÎõ‘ö—ö
3
F¢GåD”}hÄ,7ý
‘ö—öD”}hÄ,7EFGÔH
ƒˆäH
AAĤ|I
$I
AAï·4I
I
AA‘öü¡I$
ý
IJŽKKJIÉ¥ ªI
Ú¥ ­I
§áLMNOPQRSVYZ¦I
,.13äJ
üÌI<
9 Return the index where a key-value pair may be inserted.Á,”J
¹ ¹§áH šJ
H
Lý
‘ö—ö$J
¼›K
üÖJ@
= Gets a reference to the key that was used to find the entry.Á¢K
º º§á º‘öH ¦K
H
Mý
‘ö—ö$§K
üÒK*
<àK
» »§á »‘öH èK
H
Ný
‘ö—ö$íK
ÔÞL
ü L9
6 Takes ownership of the key, leaving the entry vacant.ÁDåL
§á‘öHH
Oý
‘ö—ö$îL
üÎN*
ü—M]
Z Inserts the entry's key and the given value into the map, and returns a mutable referenceÁŒùM
 to the value.ÁN
Ëü—N2
/ Computes in **O(1)** time (amortized average).Á4ÕN
§á—ö¢½HH
Pý
‘ö—ö$ÜN
˜,âN
ü‹Q>
üêO]
Z Inserts the entry's key and the given value into the map, and returns an `OccupiedEntry`.ÁÌP
ËüÔP2
ÞèdQ
§á—öÎõHH
Qý
‘ö—ö$ŸQ
˜,¥Q
ü‘XT
üÆTK
H Inserts the entry's key and the given value into the map at its orderedÁü–UG
D position among sorted keys, and returns the new index and a mutableÁÜâU
 reference to the value.ÁV
ËüŠVG
D If the existing keys are **not** already sorted, then the insertionÁüÖVK
H index is unspecified (like [`slice::binary_search`]), but the key-valueÁü¦W1
. pair is inserted at that position regardless.ÁÜW
ËüäW(
ÛÈl˜X
§á—ö¢½HHÑöáX
Rý
‘ö—ö$¦X
˜,¬X
üü]„
ü¨ZK
ËëüøZH
E position among keys sorted by `cmp`, and returns the new index and a矁[#
mutable reference to the value.Áí[
Ëüõ[G
íüÁ\K
ííü‘]1
甂]
ËüÏ](
ÛÈ„ƒ^
§á—ö«ðHŠTTH±­ ”^
¼½¾¿ ¼‘ö ½—ö ¾‘ö ¿—öüÞ^!
¼½¾¿¹óüÕýÕþÕLessÁÿÕ€ÖÖ‚ÖƒÖ„ÖGreaterÁ…ÖiÒ6<ËD÷^
Sý
‘ö—ö$—^
˜,^
Ы^
4ƒ`
Sß­U÷­U”®UUSU‘ö—ö ‘ö —ö™ô œö¢öü»d‘
üÝ`K
Ëëü­aL
I position using a sort-key extraction function, and returns the new indexÁüþa)
& and a mutable reference to the value.Á¬b
Ëü´bG
íü€cK
ííüÐc1
甠d
ËüŽd(
ÛȤÂd
§á—öŠ«ðHöWŠXXWH©âö ×d
©âÅø Úd
Ãÿø©e
ÀÁÅø À‘ö Á—ö”¹e
ÀÁÅøÀùÿø Êe
Vý
‘ö—öÿøÅø$Ýd
˜,ãd
sort_keyÁDñd
¸²´üj>
üÕgP
M Inserts the entry's key and the given value into the map at the given index,矻hO
L shifting others to the right, and returns a mutable reference to the value.Áþh
蟠i-
* ***Panics*** if `index` is out of bounds.Á¸i
ËüÀi(
ÛÈR|íi
dˆj
§á—ö¢½HH
Yý
‘ö—ö$•j
ö,j
˜,©j
üÆmH
ü»kL
I Replaces the key at the given index with this entry's key, returning theÁüŒl2
/ old key and an `OccupiedEntry` for that index.ÁÃl
2026-01-24 22:59:20 +00:00
ËüËl-
 ûýl
Ëü…m(
ËÅR|²m
lÍm
§á‘öÎõHH
Zý
‘ö—ö$Ûm
ö,ám
LÅp
Zß­[÷­[”®[[Z[‘ö—öáÜöÜg‰£4$ø\^ƒ$,\_Ä)tD Û\`ç\d§!\LN:<Ü7/
\l¡\m¯\nÏ\¬6{29©"Âý÷ƒøbëff »b©âß‚ ¸§!ß‚”þ
eý÷ƒøß‚rangeÁ,Æ;=ü¯'ý
hiŽjhijÉ¥ ÑÚ¥ Ô䩼Ýó©ggók
\l¡\m¯\nÏ\¬6{29©"ý
‘ö—ö¬6{29©"klmnrÍŽ˜Ý\ggƒ§\gg\gg¢\ggü±)8ÃpŽqÃpqÉ¥ Ú¥ ¹ëör r ”áÄ Äëöo éo
r8‘ö—öü£ 8ÅtŽuÅtuÉ¥ ¨Ú¥ «ëövxüÊÇ Çëöø°ú°û°Ðü°ý°þ°ìHˈXêE>è¯sŠww æs±­ ãÆ Æè¯ü« ÆãŠ
v8‘ö—ö†K$õhjü„'LÈ Èëös œs
x8‘ö—ö$¼ûµ5©5¬5L˜5´§‘5¬Ã{5Üßo5ü€7c5f5T5W5B5E55!5dº<¿Ò”玈ˆå ôõ ÷ãÒü˜#‡5Š5|55¤Ìu5äÄŽŽŽå Ûõ ÞÆ÷ë„ÀpÔ'),.„¡Ò´ïãÒüœUÉ É‘Öý÷ƒøÉŽ ·å ¨õ «
ý÷ƒø®!#&(øÒË&8ƒƒý÷ƒøæÜ 8‘Ö©âý÷ƒø8kÊ´‘ ÊŒÐÊ´‘Û‘Þ¬‘°ÊБ.Êô‘8Žß­÷­”®ý÷ƒø’‘Öü¥ ”˜ ˜ ˜‘Öý÷ƒøÌ“˜œŽšš³ å · õ º ªâÌ“ ½ Ì“ý÷
ý÷ƒøÌ“åÝ ®[]UWZ\VXøÓ
*ý
ý÷ƒøÌ“áÜ ý
Ì“ ý
‘Ö©âý÷ƒøÌ“ý
œwË”– Ë””
Ë”–À–
Œ–»Ëµ–-ËÙ–ý
Ž
ß­÷­”®ý÷ƒøÌ“áÜ Ì“Öüû
B
Ì ÌÒï· 
žtableÁ,Š ¢ ö  žß­Ÿ÷­Ÿ”®ŸŸžŸáÜöÜü
Md„
Í ÍÒï· ˜

 Ü—,
¢
oldÁ·
 Ã
L… ß­¡÷­¡”®¡¡ ¡áÜöÜü‚Mœ…ÎÏ ÎÒ Ï‘Ö£Ž¤£¤ ¨å õ œ
¢ý÷ƒøŸ®)+.0î¢ß­¥÷­¥”®¥¥¢¥ý÷ƒø’‘üŒA§Ž¨¨§å õ Þý÷ÞƒøÆ÷©ªß੪FHKM¼ÔÐ ÐÆ÷Æ÷¦ ݦ
©ý÷ƒøüÆ&ÑÒ ÑÆ÷ ÒÆ÷¦ Ô¦
ªý÷ƒøî ¬Ò¬Ž­¬­å ×õ ÚÆ÷®¯°±²³´·¸¹º¼½¿ÀÁÂÃÄÅÆÇÉÌÍÎÏÑÓÕØÙÚÛÜÝßàáâãäåçèšœŸ¡üÆ!¤Ì««ü°!ÄÆ÷««ÐÜüÌ-Æ÷««
°ý÷ƒø èüŠ1Æ÷ãÒ««
±ý÷ƒøüì2Ó ÓÆ÷ Ó‘Ö« «
²ý÷ƒø$†üÐ>Ô ÔÆ÷ Ô‘Ö« í«
³ý÷ƒøü¶`Ö ÖÆ÷„®«Šµµ Ô«©â„® ÑÕ„® Õ‘ÖÜúÕ„®Ǧ
´ý÷ƒø„®þ ßbdü÷!× ×Æ÷« «
ý÷ƒøü‘ &Ø ØÆ÷« ¨ «
·ý÷ƒøôˆ!,–!Ù ÙÆ÷« œ!«
¸ý÷ƒø$¡!üð!-Dþ!Ú ÚÆ÷« ‡"«
¹ý÷ƒø$Œ"¾ "üÈ#tR|´#,Ö#Û ÛÆ÷ß‚»=»=Ê:¿=
tail_startÁ«<À=tail_lenÁ«<Á=£ «<Â=œ«<ÛÛ`qÌÇÛã¸ô«ë»» ß#«܃ Ü#탔©$
ºý÷ƒøß‚$ä#˜ƒ,ê#-/üŽ)5R|ú(Lœ)Ü ÜÆ÷Æ÷« ¦)«
¼ý÷ƒø$«)atÁ±)üŸ-R|-d­-Ý ÝÆ÷ß‚Æ÷¼>¼>ª1¿>öÑ«<À>phantomÁ«<Á>capÁ«<Â>á«<Ã>÷ «<Ä>Ï«<Ö“<]¿‘Fã¸ô«ë¾¾ ½-«܃ º-탔Ž.
½ý÷ƒøß‚$Â-˜ƒ,È--/ü™2;„§2Þß ÞÆ÷ ߯÷« ¸2«
¿ý÷ƒø$½2î ,Ã2üÕ43<ã4à àÆ÷« ë4«
Àý÷ƒø$ð4
additionalÁTö4üý79l8á áÆ÷« ™8«
Áý÷ƒø$ž8¢°T¤8üþ9V\Œ:â âÆ÷ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶˹« ˜:«
Âý÷ƒø$:¢°T£:ü¨>Sœ«>ã ãÆ÷в« ¿>«
Ãý÷ƒø$Ä>¢°TÊ>ü‚D\ŒDä äÆ÷в« ¢D«
Äý÷ƒø$§D¢°T­Dü£G7L±Gå åÆ÷« »G«
Åý÷ƒø$ÀG min_capacityÁdÆGü‘I.ŸIæ æÆ÷ø°ú°û°Ðü°ý°þ°ìHˈXêE>“’« £I«
Æý÷ƒø$¨IüŠL|d˜Lçè çÆ÷ï· èÌ“ø°ú°û°Ðü°ý°þ°ìHˈXêE>«ÈÈ ¨L«Ç” ¥LØ”løL
Çý÷ƒøÌ“$©L¢$¯LåÀL46üÇNƒ„ÕNë ëÆ÷ï·„®Џ«ŠÊÊ éN«¦¦ æNê„® êý÷Œ¸Oê„®´º$ÅO
Éý÷ƒø„®$êN¢$ðN¨­D…OlnŒâOÉß­Ë÷­Ë”®ËËÉËý÷ƒø„®é é„® Æ÷ü¶Q;T¹Qì ìÆ÷ï·ý÷ƒø« ÄQ«
Ìý÷ƒø$ÉQ¢$ÏQåàQ˜,èQüŸTv\­Tí íÆ÷ï·ý÷ƒøø°ú°û°Ðü°ý°þ°ìHˈXêE>ƒø« ¹T«£ý÷’U
Íý÷ƒø$¾T¢$ÄTåÕT˜,ÝTüâZ£dðZî îÆ÷ï·ý÷ƒøѶ« †[«»¾‚\
Îý÷ƒø$‹[¢$™[å²[˜,Â[ü÷bŒ…cïð ïÆ÷ï· ðÌ“ø°ú°û°Ðü°ý°þ°ìHˈXêE>ý÷ƒø«ÐÐ šc«Ç” —cØ”löc
Ïý÷ƒøÌ“$Ÿc¢$¥cå¶c46ü«fŒ„¹fñò ñÆ÷ï· òÌ“ÍÀ«ÒÒ Íf«Ç” ÊfØ”l©g
Ñý÷ƒøÌ“$Òf¢$Øfåéf46ü²k5lµkó óÆ÷« Ãk«
Óý÷ƒø$ÈkŒ,ÎkÏÜkDóvÓß­Ô÷­Ô”®ÔÔÓÔý÷ƒø ü‡yl|•yö öÆ÷„®«ŠÖÖ ¨y«¦¦ ¥yôõ„® ôý÷ õƒøìÕyôõ„®¡Æ$îy
Õý÷ƒø„®$­ykeepÁ$·y~<§zÕß­×÷­×”®××Õ×ý÷ƒø„® 㸠„®üÉ{ ”Ì{÷ ÷Æ÷« ß{«
Øý÷ƒø$ä{üÔ| <â|ø øÆ÷« ê|«
Ùý÷ƒø$ï|üî0ù ùÆ÷« «
Úý÷ƒø$†€¢°TŒ€üà„^lî„ú úÆ÷ï·ý÷ƒø ú㸫 ü„«
Ûý÷ƒø$¢$‡…嘅˜, …ü¹ˆYR|¥ˆ¤Çˆû ûÆ÷ï·ý÷ý÷« ܈«
Üý÷ƒø$áˆö,爢$õˆå†‰üÏ¡œÝü üÆ÷ï·ý÷ƒø ü㸫 ú«
Ýý÷ƒø$ÿö,Ž¢$£Žå¼Ž˜,ÌŽL†‘Ýß­Þ÷­Þ”®ÞÞÝÞý÷ƒø’‘Öü÷•K”…–ý ýÆ÷Ѷ« ˜–«
ßý÷ƒø$ö,£–üÈ™9œË™þ þÆ÷“’« ß™«
àý÷ƒø$ä™ö,ê™üäœJŒòœÿ ÿÆ÷Ѷ« «
áý÷ƒø$‰ö
, ã8åä& ç8ï*í, ð8˜& ö8ï$ û ý* ƒ ½, 8,†'8¬!¬ ¢ £ », ¤8æ_ ¥% ¦, ¨ © ¸, ª8å«*¯, ²8˜$ ¹ º% ¾ Ä é , Å8æ_ Æ& Ç8È% Ê, Ì Í æ , Î8åÏ& Ò8ï*Ø, Û8˜& á8ï$ ç
è*ë î  ï Ž 08ù8builderÁ '8³$‰'8¢$'8BuildHasherDefaultÁ”•'§ ©, ª8æ_ « ¬'­8>  ·% ¸88CAPÁÈ& Ë8 Ó Õ Ö Ù × Ø Ú'Û8¾ Ý à þ á â ý, ã ä ú å ù8µ ð ñ ö, ò8åó% ÷$ û
ü% ÿ+  Š œ8è,‹  8
unused_mutÁT8ú8þ8
 , ˆ8,‰'Ž8Ò D'˜8úrÄš ² ¿8¢ã³$ 8ëá<¸% À, Ê Ë û8
Ù Ü8 ã ð, ä8åå$ è, ê8˜% ñ
ü8
% ¬ï » š  ª 8<  £ 7¼• üì Jö×·
Ë
²ÙÊ
Ë
ÜÜÖ
 use indexmap::indexmap;Áò
ËÄö
 let map = indexmap!{ÁŒ ‚ÛŒ¡ ›Û ´Ûäº ÂÛä× æÛüô #‹Ü˜ ËÜœ ÁÜü¸ .åÜ Ü&|Ü Íz
 ¢
 ©
, Œ

 §

, Ž
8å
&
8ï$“
*˜
,
8˜
& ¡
8ï
$ ¦
 ¨
*«
 ®
 ×
, °
8
'
8É!D¸
 À
 Á
 Õ
, Â
 Ã
 Ò
, Ä
8åÅ
*É
, Ì
8˜
$ Ó
 Ô
% Ø
 Þ
 ü
, ß
 à
 ù
 , á
8åâ
& å
8ï
*ë
, î
8˜
& ô
8ï
$ ú

û
*þ
  Ÿ  88¢ãÀ& Ã8 Ë Í Î Ñ Ï Ð Ò'Ó8¾ Õ Ø ö Ù Ú õ, Û Ü ò Ý ñ8µ è é î, ê8åë% ï$ ó
ô% ÷888
 , 8,”'8Ò D'£8Æ ² 8¢ã³% ·, Å Æ þ8
Ø Û8 â ï, ã8åä$ ç, é8˜% ð
ÿ8
%  üÇ"ü¥A> Create an [`IndexSet`][crate::IndexSet] from a list of valuesÁüçWÈØ¿Ë²ÙÒËÜüÞ(% use indexmap::indexset_with_default;Á¼‡ÚŸËü£%" let set = indexset_with_default!{Á”ÉèÚ "a",Á "b",Á´Ûüý assert!(set.contains("a"));Áü assert!(set.contains("b"));Áü½  assert!(!set.contains("c"));ÁÞËìâ // "a" is the first valueÁü€.+ assert_eq!(set.iter().next(), Some(&"a"));ÁÜ&|·¶€ ê  ð ˆ, ñ8æ_ ò& ó8ô% ö, ø ù , ú8˜& 8ï$$  *Š  ¿, 8,'8Ù!¬— ¬ ­ ½, ®8æ_ ¯% °, ² ³ º, ´8˜$ » ¼% À Æ Þ , Ç8æ_ È& É8Ê% Ì, Î Ï Û, Ð8˜& Ö8ï$×$ Ü
Ý*à ã þ ä ý08î8ëá ú'ü8³'8¢$„'ˆ8¯â”Š'œ ž, Ÿ8æ_   ¡'¢8> « ¬% ­88¢ã½& À8 È Ê Ë Î Ì Í Ï'Ð8¾ Ò Õ õ Ö × ô, Ø Ù ñ Ú ð8µ å æ í, ç8˜% î$ ò
ó% ö+   8è,‚  8¾å8ï8ó8ò„÷ û, ý8'ƒ8Ç D…'8úrÄ § ´8¢ã¨$ «8ëá<­% µ, ¿ À ê8ò„Î Ñ8 Ø ß, Ù8˜% à
ë8ò„õ% ÿ¬Ð»  8 7,”¼„üÛA‚ò˲ٰËÜܼ use indexmap::indexset;ÁØËÄÜ let set = indexset!{Áˆôd‚œô4´Ûü–½ôü¶åôüÖ õ÷ËìûÀõü™.æõÜ&|ˉ† æ ß! ì ý, í î û, ï8˜& õ8ï$ ú ü*ÿ  £, 8,…'Š8ö!   ¡,   ž, ˜8˜,™$ Ÿ  % ¤ ª », « ¬ ¸, ­8˜& ³8ï$´$ ¹
º*½ À Ü! Ê Ö!88¢ã & 8,†  Œ  Ž      '8¾    ¹  š   ¸ , œ   µ  ž  ´ 8µ ©  ª  ± , « 8˜% ² $ 
· % º 8È 8Ì 8ò„Ð  Ô , Ö 8,× 'Ü 8Ç 'æ 8Æ õ  ù 8¢ãö % ú , ˆ! ‰! »!8ò„›! ž!84Ÿ! ¥! ¬!, ¦!8˜,§!% ­!
¼!8ò„Ê!% Ý!ìÒ"„ß" ð" ¨* $ $, $8map_eltÁ<ƒ$& Š$8ï$$*$ ”$ ¥*@8 ž$8¥ $¡$ ¥$ ¯$ ¦$8§$8$«$(±$8Ó4´$ º$8$»$'¿$8½$Á$ Å$ Ç$ ü$ 8$Õ$ Ù$8£ $Ú$ Þ$8¥ $ß$ ã$ ä$ å$8
æ$ é$ ò$, ê$8õˆ<ë$8 ‡%8‡ILŠ% “% ™% ”%8$•%(% ž% ³%8,Ÿ%$ ¤%8Ó4¦% ¬%8,­% ²% µ% á%8$Ã% Ç%8£ $È% Ì%8‡ILÍ% Ö% ×%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¯'8$³'(¹'8Ó4¼' Â'8$Ã''Ç'8½$É' Í' Ï' ö'8$Ý' á'8½ILâ' ë' ì'8 (8‘¶<„( (8k Œ( ( Ž( “(8$((•(8k ˜(8$,¢(8k ´(& µ(8Ÿd·( Ã(8$Ä('È(8½$Ê( Î($ Ï( Ù( Ÿ* 8$õ) ù)8£ $ú) þ)8
ÿ) * ‹*, ƒ*8õˆ<„* Œ*8‘¶<* ”* •*% ¦*ü«**ì¸* Ö* ñ- ç+ õ+, è+8õˆ<é+& ð+8ï$ñ+*÷+ ú+ î-8 „,8½IL‡, , š, ,8,8$,(œ,8Ó4Ÿ, ¥,8$¦,'ª,8½$¬, °, ², ì, 8$À, Ä,8£ $Å, É,8½ILÊ, Ó, Ô, Õ,8
Ö, Ù, â,, Ú,8õˆ<Û,8 ÷,8¯¶Dú, - - ƒ-8„-8$ˆ-$ Œ-8£¢ Ž-& -8,-(˜-8Ó4- ¡-8$¢-'¦-8½$¨- ¬- ®- è- 8$¼- À-8£ $Á- Å-8¯¶DÆ- Î- Ð-8£¢ Ï- Ñ-8
Ò- Õ- Þ-, Ö-8õˆ<×-% ï-Lß$»Ç$ Ê$ Ü$8<Ë$ Ó$7Â"<Õ$ÌÅ$,ã$¸¹MapDeserializerÁ|OàñóSeqDeserializerÁ|`Èñô DeserializeÁ\ŒØ;ñöÑ&d™å;ñ÷;ñøIntoDeserializerÁ„® ñù MapAccessÁLÀð<ñú SeqAccessÁLËè<ñûVisitorÁ<Ö©<ñü SerializeÁLø®Añþ
SerializerÁTƒ±AñÿÍÁ]ñœÁ`ñj\Äæbñ¦»bñ¦ÁbñÎèñÎèŠñ‰£4„øñˆÒ Ä ñÿÇ D–úñŠü79úýüvjåèÖÙÇʨ«x{beüæ(OR69ä•+ ü·ÌÜåüü#À¯±šœüßCŒíЏŒŽŒå ÿõ 
ý÷ƒø²$…!#&(ü©”¯ñüÃWޤ$å Èõ Ë©âÐø ήAý÷®AƒøL ø¯ALNQSMOü¡ a øê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ç¢²A碳A ± ©âç¢ ® ±Aç¢
ý÷ƒøÐøç¢
serializerÁT¸ BD
ž
ñŽ˜¤$˜å Î
õ Ñ
Í¡ Ô
ÿè/lÅèAµÙšÀéÿèžñÀéÿè
ý÷ƒøÐøŽ´×
ñÀéüñ
ž‡%œŽž¤$ŸŸžœ É¥ û
Ú¥ þ
©â–ù Ø;‘ö‡%„» á§Î »b‘ö Ø;—ö‡%„à Ä–ù æb–ù Ýø ¡¢«<¬<â<¡¢ö
¨ª­¯©«T– ,› ©ùü» A ˆ Ýø ˆÁ`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶ѼѼÒ¼ štÀ. È 
¡‡%‘ö—ö–ù  formatterÁLÏ ü­
g
ÝøÙ%ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ýø‡%«<ÿ«‡%ò<Ù%££©âÿ« º
ð<ÿ«‡%t…
¢‡%‘ö—ö–ùÿ«

Ç
DFü½‡%¥¦Ž§¤$¨¥¦¨§ É¥ ÇÚ¥ Ê·§ Íȧ„„á§æ§ö§„©Œ¨œ¨©ù©Ú;©ÂY[^`ceüßdš&ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶©ù⯇%ç;¤š&ªª¤©â⯠îå;⯇%Œ±
©‡%‘ö—ö–ù⯠deserializerÁdñIKü–º‡%¬­Ž®¤$¯È&°°¬®¯­
É¥  Ú¥ £·§ ¦©â„ú © ‘ö‡%„úÄèᧃ槠—ö‡%„úÄ•œ¨;„ú©ù±²Å Æ ²Ÿ¢¤§©£¥Œ×««àà°™ä£ då˜dæÃdçÄ dèerrorÁdµ‚ƒnPîÛØ‡%©ù°J„úü«0Œ®©ù©ù‡%„úÅ ««
²‡%‘ö—ö–ù„úü–?´¤$µ´µ©â½ú ©âÃú ž®A½ú‘ú¯A4602üÜfŠ Š‘ú›'ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶«·²A«·³A³›'·· í³©â«·é±A«·
½úÃú«·²£57ñº¤$»º»ž¶ ޝ¶ ÆêS²õÎUÖ°¹¼ƒëÆêà§iñƒëÆê¸¸
¹½úÃúwy|~œ”ñ¸¸ƒëü«‡%¾¿¤$À¿À¾©âû µÍ¡ ¸Ø;û‡%„ï£û»bû$‡ÄÐø<”æbÐøÐúÁÂë<¬<à<ÃÂ°Ž½½˜ûüÓAŒ Ðú ŒÁ`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ª½ à½
‡%ûÐøʪüÅgÐúÙ%ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶Ðú‡%«<Ö¾‡%ê<½Ù%ÄĽ©âÖ¾ Òè<Ö¾‡%t
Ç%ûÐøÖ¾seqÁßCEüÌ|‡%ÆÇ¤$ÈÆÇȤ» ÖÍ¡ Ù½»Ó» ã»ó»ƒ¼˜ûÉÚ;ÉÑIKNPüÏdš&ê³í³î³Òï³ìð³ñ³ò³ìäs{©¶˜ûŠÂ‡%ç;Åš&ÊÊÅ©âŠÂ Þå;ŠÂ‡%Œ¡
ɇ%ûÐøŠÂ­°:<ü† “‡%Ìͤ$ÎÈ&ÏÏÍÌΤ» Í¡ ©âãû  û‡%ãûÄÒ Ó»í 㻃¼\ÿ ;ãû,“!˜ûÐÑÅ Æ Ñ{}|~Œ !d¥!ËËÈÈәˣ dÌÃdÍ
d¤ˆ+@Ê]qt˜û°Jãûüï!0Œò!˜û˜û‡%ãûÅ ËË
ч%ûÐøãû$„"D%$%×ÛÝßBoundÁ,´™ÒÔæ,ΘÒÕç\§!ÒÖü&?A.0ü-/,;Ù%ök¸ÈÙ%ØöÙkÚÚØÙ©â®È A©â³È D©â¸È G
×®È³È¸È J<>9;68üzfR|jtˆëדëÜÜ©â‹Ê §!‹Ê”Í
ۋʘƒ¾ ¤13ü´r”Â‹Êø°ú°û°Ðü°ý°þ°ìHˈXêE>דëÞÞ°Ê ÕÁÊ”“ 
݋ʘƒ¾ â&(ü¡ZŽ Ž˜± Œ±¥*àœ*á¥*âáâà Äž¶ ¸©âû° »©âý̼ÛýÌ ½ú û°”àýÌÿÍ
ß½úû°ýÌleftÁ$¾rightÁ,ÊÕ×®°ª¬¦¨\˜%üKÚõüL8­ö %ä·à¹ ß
Ä û*,Ùí á-dà˜ l†š Š\•A Ê:,¾ì ÍJLÅøž ª1DйŸ Ý>DÚ³  öDTä¡ ´2$ðä¢ ×4<öŠ£ ê6Dÿ­¤ ¥<$‰¥ G4Á¦ æ@4›×§ ûBL£ü¨ äN|ȸ© †M\𣪠˜al™Ç « ²R,½ý¬ ŽŽã­ ­«ßAã® ÕD¿üÕ㯠ÍÓÁ]ã° j\éæbã² ¦»bã³ ¦Ábã³ — Õã´ IndexÁ,œ¦˜ã IndexMutÁD£ã· ç§!㸠ڟ°Gã¹ ƒãº  ),› ×ã¼ â)”¢ Ýã½ ‰£øã¿ ²õãÀ œÍœ×¡ãÁ úÉìã úÉíã §Ëãà L†ãíƒ$ äæl äçŠ\( Aä艣4A øäéÍT Á]äë— Y Õäìü0 ƒqs^`l: M„M >@-/ÄÕ ü`L I Entry for an existing key-value pair in an [`IndexMap`][crate::IndexMap]Áü­' $ or a vacant location to insert one.Á ý
îïŽððïîÉ¥ è Ú¥ ë ä©¥—󩬗ê¥õ…q§Ø ÝññòôõòóÎõê¥õö§áê¥ä dfiküô& # Existing slot with equivalent key.Áíí
òý
‘ö—öÎõê¥ííÇÚ¼¨ ííÎõüÆ/ , Vacant slot (no equivalent key in the map).Áíí
õý
‘ö—ö§áê¥ííûÛ¬ íí§áôœ ý
øùŽúùúøÉ¥ ¥ Ú¥ ¨ ê¥ûüýþƒ¡ .035ä üÁI F Return the index where the key-value pair exists or will be inserted.Á,  ê¥÷ œ ÷
ûý
‘ö—ö$ üà> üÀ\ Y Sets the value of the entry (after inserting if vacant), and returns an `OccupiedEntry`.Á¡ Ëü©2 Þè ꥗öÎõ÷÷
üý
‘ö—ö ˜ üú
/ üÿV S Inserts the given default value in the entry if it is vacant and returns a mutableÁüÚ \ Y reference to it. Otherwise a mutable reference to an already existent value is returned.Á»
ËüÃ
2 ÞèL ꥗ö¢½÷÷
ýý
‘ö—ö$ >< üÎX üÉ ` ] Inserts the result of the `call` function in the entry if it is vacant and returns a mutableÁü®
\ âà Ëü—2 Þè ꥢ½÷Šÿÿ÷±­ ä  —ö ¤
þý
‘ö—ö  SUüù^ üÉZ W Inserts the result of the `call` function with a reference to the entry's key if it isÁü¨^ [ vacant, and returns a mutable reference to the new value. Otherwise a mutable reference toÁü‹* ' an already existent value is returned.Áº ËüÂ2 Þ蔀 ꥢ½÷Š÷±­   ‘ö âè—ö Õ
ý
‘ö—ö$–  km¼Ô üÇK H Gets a reference to the entry's key, either within the map if occupied,Áü—8 5 or else the new key that was used to find the entry.ÁÛ  ê¥ ‘ö÷ ß ÷
ý
‘ö—ö ü³Q ü…) & Modifies the entry if it is occupied.ÁTº ê¥ê¥÷Š÷±­ Å  —ö Þì
ƒý
‘ö—ö þ Ò hjü€B üZ W Inserts a default-constructed value in the entry if it is vacant and returns a mutableÁüà\ âàÁ ËüÉ2 ÞèT‡ ꥢ½÷÷Ä—ö
ý
‘ö—ö$’ üéA 8ŽˆˆÉ¥ î Ú¥ ý à`‘ö à`—öT€ ðûá`;=@Bü±8 ´ ˜ ðû ˜Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ª ¸ 
8‘ö—ö þ ¿ ü¾ I 8šŽŒŒšÉ¥ à ڥ Ò òï‚ðTÕ Ëüá`+-02üŽ!8 ! œ Ëü œÁ`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ªŠ •! Š
8‘ö—ö$! þ œ! üÞ"; 8žŽžÉ¥ ã" Ú¥ ò" òïTæ" œýá`#%(*ü #8 £# Ÿ ¡ Ÿœý  Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•¡ªŽ §# Ž
8‘ö—ö$¨# þ ®# üå%! ü¤$X U A view into an occupied entry in an [`IndexMap`][crate::IndexMap] obtained by index.Áý$ Ëü%c ` This `struct` is created from the [`get_index_entry`][crate::IndexMap::get_index_entry] method.Ádð% ý
ŽÉ¥ & Ú¥ „& 䩼& ó©öŠð÷ìžé—|ý% ;=@BE& 䃧dŸ' ,Ÿ' äü°'% ý
šŽšÉ¥ ¹' Ú¥ ¼' öœžŸ ¡¢£¤¥¦§¨©ª«¬­µ' LNQSüÜ'H ê' ƒ§ø°ú°û°Ðü°ý°þ°ìHˈXêE>ö˜˜
œý
‘ö—ö
î' ö,‡( äà) ü£)* ²,ç) ¢ ¢ö˜ í) ˜
ý
‘ö—ö$î) ü*3 L«* öƒ§˜˜
žý
‘ö—ö$µ* üï*% Tò* ä£ £ö £è¯˜ ý* ˜
Ÿý
‘ö—ö$þ* üÍ+1 tÐ+ ä¤ ¤ö ¤è¯˜ ß+ ˜
 ý
‘ö—ö$ä+ ü¿,, \Â, äö‚³˜˜
¡ý
‘ö—ö$Î, ¼ä- ü¬-3 Õ³ë- ¥ ¥ö ¥‘ö˜ ï- ˜
¢ý
‘ö—ö$ð- ü¨.* <¶. 㦠¦ö ¦‘ö˜ ¾. ˜
£ý
‘ö—ö$Ã. ¼Á/ ü‡/5 –·È/ § §ö §—ö˜ Ì/ ˜
¤ý
‘ö—ö$Í/ üÚ1# ü‡0= À¸É0 ËüÑ0D ‘¹üš1; 8 `IndexedEntry` value, see [`into_mut`][Self::into_mut].Á<á1 ¨ ¨ö ¨—ö˜ é1 ˜
¥ý
‘ö—ö$î1 ü‡3' ü´2N ã¼4Ž3 © ©ö—ö—ö˜ •3 ˜
¦ý
‘ö—ö$š3 ˜, 3 üä4" üè3F ‰»ü³4, Ø»Dë4 ö¢½˜˜
§ý
‘ö—ö$ô4 ü³8( üº5J Ûɉ6 Ëü‘6_ ÇÃüõ68 ¯Äü²7G ðÄþ7 Ëü†8( ËÅŒº8 öÊϘ˜
¨ý
‘ö—ö$Ì8 ü<) ü¡9J ÛÉð9 Ëüø9] âÆüÚ:= ÈÇüœ;9 ŽÈÚ; Ëüâ;( ÛÈ”–< öÊϘ˜
©ý
‘ö—ö$©< ì„@ üÿ<V ¦¾Ú= Ëüâ=_ ÇÃüÆ>8 ¯Äüƒ?G ðÄÏ? Ëü×?( ËÅ\@ ö—ö˜˜
ªý
‘ö—ö$—@ ôÌC üÒ@V ¦¾­A ËüµA] âÆü—B= ÈÇüÙB9 ŽÈ—C ËüŸC( ÛÈdÓC ö—ö˜˜
«ý
‘ö—ö$àC üðH" üœD2 ¶ÒüÓD- ñÒ…E ËüEQ ²ÓüãE8 ŒÔ F Ëü¨F_ ØÔüŒG_ ÀÕðG ËüøG* ³Ö§H Ëü¯H( ÛÈR|ÜH T÷H €ö˜˜
¬ý
‘ö—ö$I È׈I üÂL' üÍI- ß×ÿI Ëü‡JU  ØüáJO þصK Ëü½K7 áÙùK ËüL( ËÅR|®L dÉL €ö˜˜
­ý
‘ö—ö$ÖL î ,ÜL ü§MH 8ª¯Ž°°¯ªÉ¥ ¬M Ú¥ »M òïT¯M ‚ðT¾M íý±á`±+-02üöM8 ùM «¬­ «íý ¬Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•­ª® ýM ®
±8‘ö—ö$þM þ „N üîOG ý
³´Žµ´µ³É¥ ÷O Ú¥ úO öüóO !#&(ü¼P/ $¿P Îõö²²
ý
‘ö—öî ,ÄP D‘$•ã䊭ì³×üÁø¹‰£4 ø·¹¿ úÉLì·º úÉí·º Ò DÄ ·»²R,)ý·¼¬ ƒ$D·¾ó\Jg·¿Œœ$j«<·Á­pßA·ÂÍÁ]·Ãj\–æb·Å¦»b·Æ¦Áb·Æ£ÖN·Ç MaybeUninitÁ\ØÒ·ÈáÒ¦˜·Êç§!·Ëî,”ªc·Ìü+UXGJü5!9<+.¼]dLzü‰øúçé̮ƴͬüéœžŠŒ\Ž}üœ8ý
ÎώФ$ÑÐÎÑÏÉ¥ ¥Ú¥ ¨·§ «ÉþÒÓÔ¯J°J±JÔ¡79<>ACÍͶ¡D€ÍÍøþü $ÉþÉþ°JÍÍ
Ôý
‘ö—ö–ùüä<ý
Ö׎ؤ$ÙØÙ×ÖÉ¥ íÚ¥ ð·§ óÛþÚÛܯJ°J±JÜé79<>ACÕÕ¸¡¢½ÕÕ²€üó$
end_or_lenÁ®iÞi_markerÁ®it¸N(ý
è¯ìîý
êëŽìêëìÉ¥ ÷Ú¥ úøþíîó!#ü’ 6  ã ý
ç¯øþéé
íý
‘ö—ö®üÓ
)ü‘
=: Returns a slice of the remaining entries in the iterator.ÁDÚ
® ®øþ¬Žé ã
é
îý
‘ö—ö
ü¸ *ý
ðñŽòòðñÉ¥ Á Ú¥ Ä øþ󞟠¡¢£ßKàKäKåKôKçK¨LŸ£¢ ž¡½ _adf  ïï¶¡ü® 18¯õŽö¯õöÉ¥ ³ Ú¥ ºÿ¥¦óJõJ¥¦&(+-ü—
/8°øŽù°øùÉ¥ œ
Ú¥ Ÿ
ºÿúªKú "´Í
Ð
± ±ºÿ÷ Ô
÷
ú8‘ö—ö
ü‡+8²üŽýýü²É¥ ŒÚ¥ ºÿüî#8³ÿŽÿ³É¥ óÚ¥ öºÿß "¼˜,´ ´ºÿºÿþ ¡þ
8‘ö—öüù@8µƒŽƒµÉ¥ þÚ¥ òïT‚ðTºÿá`+-02üÀ8÷¸ ºÿ ·Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•¸ª Ç
8‘ö—öþ Îüº%8¹Žˆ¹ˆÉ¥ ¿Ú¥ ºÿÅ "¤æºÿ
8‘ö—öäÎü§;8 A mutable iterator over the entries of an [`IndexMap`].ÁãËüçB? This `struct` is created by the [`IndexMap::iter_mut`] method.Áüª#ÝŸý
ŒŽŒÉ¥ åÚ¥ èä©Ú,^ó© ²€îüU…°Žá:<?Aüñ&·ŠŠñiñi×4ôi÷ ®iõiÍ¡®iöiã¡®iÇzRhgQý
è¯üœ ý
ŽÉ¥ ¥Ú¥ ¨²€¡!$&üÃ:Ñã ý
篲€
ý
‘ö—ö®üŒ&üÊ=ë£D“º º²€ º²Ž œ
ý
‘ö—ö$ü¢.üðEB Returns a mutable slice of the remaining entries in the iterator.ÁºËüÂ[X To avoid creating `&mut` references that alias, this is forced to consume the iterator.ÁT©²€îŽ
ý
‘ö—öü’-ý
˜Ž˜É¥ Ú¥ ž²€š§¨©ª«¬ßKàKäKåKôKçK¨Lª¨¬«§©_adfœü’48»œŽ»œÉ¥ Ú¥ šô€®¯óJõJ¯®&(+-ü28¼ŸŽ ¼Ÿ É¥ Ú¥ ô€¡ªK¡ "´º½½ ½ô€ž Áž
¡8‘ö—öüô.8¾£Ž¤£¤¾É¥ ùÚ¥ üô€ü§C8¿¦Ž§¦§¿É¥ ¬Ú¥ »òï‚ðô€¨á`¨+-02üñ8ôÀÁ Àô€ ÁÁ`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ª¥ ø¥
¨8‘ö—öþ ÿü¥(8ÃªŽ«Ã«ªÉ¥ ªÚ¥ ­ô€¬Å¬ "¤Ô<×ô€©©
¬8‘ö—öìø ü®;ï¯êËüîeb This `struct` is created by the [`MutableKeys::iter_mut2`][super::MutableKeys::iter_mut2] method.ÁüÔ #ÝŸDƒ!ý
®¯Ž°®¯°É¥ !Ú¥ “!ä©yó©áeÃ”ÒøA¦±Œ!9;>@üœ!&$œ!·­­»³üÇ!!ý
³´Žµ³µ´É¥ Ð!Ú¥ Ó!á·¸Ì!!$&üï!:ý!㥵Ჲ
ý
‘ö—ö®<"ü¸#
·ÈÀG·Éè·ÊÔG·Ë'tNf!Íý
ÿ‹…Œ‹Œ‘ŒË'tNf!ÍÇÈÉÊØ‹“NQKNHKEHçí“·ÁÁ ý
Ä Ä Ò È ³É ‚hã’|suï,F…Œ‹Œ‘Œ„‘”$‘”·ÁÁƒŸ®ë„ÀpÔ…Œ‹Œü§”",§”·ÁÁ¼>¼>ª1¿>öÑ«<À>­«<Á>ž­«<Â>á«<Ã>÷ «<Ä>Ï«<Ö“<]¿‘Føø‰£û¢üåý˜GþŽè‚šWb…Œ‹Œô|Ï”dÏ”·ÁÁÿ‹üã”wý
Ì—GÍΎϤ$ÐÌÍÏÐÎ ÜÍl¥••Í ï”§Í ò”¹Í õ”Ëͼœ•ƒÍ ì”õÍ$¼•†ÎÕ—Î\ΕÑÎÑè”.0_acegiüõ•R|ᕃ–ã±Ðëÿ‹ÑÎËëÒÒË©âèÕ ‡–§!èÕ”â–
Ñý
ÿ‹…Œ‹Œ‘ŒèÕ
Š–˜ƒ,ª–ÔGd´–TVü¨˜|8—GÔÕŽÖ¤$××ÕÖÔ ÜÍlï˜•Í °˜§Í ³˜¹Í ¶˜ËÍ¼æ˜ƒÍ ­˜õÍ$†™†Î—Î\˜™©‹Ø Ø/1`bdfhj”«™$®™Š Š©‹Ó ³™Ó
Ø8ÿ‹…Œ‹Œ‘Œ$¸™ü¿¡8—GÚێܤ$ÝÜÚÝÛ ÜÍlŠ¢•Í Ç¡§Í Ê¡¹Í Í¡Ëͼ¢ƒÍ Ä¡õÍ$¡¢†Î¨¢—Î\³¢©‹ÞßàßKàKäKßàACrtvxz|LÆ¢$Ë¢ÙÙçÍüߢ($⢌ Œ©‹ø°ú°û°Ðü°ý°þ°ìHˈXêE>©‹ßKÙ ç¢Ù
ß8ÿ‹…Œ‹Œ‘Œ$ì¢üÆ£-LÉ£ ©‹ЏÙ Ó£Ù
à8ÿ‹…Œ‹Œ‘Œ$Ô£üž¤8Ž—GâãŽä¤$åŽâäåã ÜÍlô¤•Í ¦¤§Í ©¤¹Í ¬¤ËÍ¼ë¤ƒÍ £¤õÍ$‹¥†Î’¥—Î\¥©‹æóJæ/1`bdfhjü°¥-L³¥ ©‹¯Üá ½¥á
æ8ÿ‹…Œ‹Œ‘Œ$Â¥üŸ¦8—GèéŽê¤$ëêëéè ÜÍló¦•Í §¦§Í ª¦¹Í ­¦ËÍ¼ê¦ƒÍ ¤¦õÍ$Ч†Î‘§—Î\œ§©‹ìªKì/1`bdfhj´¯§²§ ©‹ç ¶§ç
ì8ÿ‹…Œ‹Œ‘Œ$·§üê§8—GîïŽð¤$ñïðîñ ÜÍlº¨•Í ò§§Í õ§¹Í ø§Ëͼ±¨ƒÍ ï§õÍ$Ѩ†Îب—Î\㨩‹$&UWY[]_üõ¨¯8—GóôŽõ¤$ööôóõ ÜÍlÏ©•Í ý¨§Í €©¹Í ƒ©à`ÿ‹T¹©ËͼƩƒÍ ú¨à`…ŒTæ©õÍ$ó©†Îú©à`‹ŒT…ª—Î\˜ª©‹÷á`÷QSü«ª8®ª ©‹ Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ªò ²ªò
÷8ÿ‹…Œ‹Œ‘Œ$³ªþ ¹ªüà­!üѬ*' An extracting iterator for `IndexMap`.Áü¬Ëü€­;8 This `struct` is created by [`IndexMap::extract_if()`].Áü¼­#ÝŸLë­ý
ùúŽûŠüúùûüÉ¥ ù­Ú¥ ü­±­ ÿ­ä©ó©øøÍJýµ
·þ†K·¹%hµáÙŠ˜ý
‘ö—ö¹%hµáÙŠ˜ýþõ­Ž˜äˆ®,ˆ®·øø‹…<ª®$ª®·øøü¶®$8ŽŠÉ¥ »®Ú¥ ¾®±­ Á®ÕŒƒ "$&(üõ®§R|ᮃ¯ãš š‰§ëøøÍJýµ
·þ†K·¹%hµáÙŠ˜š‘ö—öÿë ¯ÿ©âêî ‡¯§!êî”㯘 ˜‘ö —öÌ‚°˜ ð$—°
ƒ8‘ö—öêî³$Н˜ƒ,¡¯†K$«¯§©ü„±Y8ŽŠˆˆœ ‘ö œ—ö$رÚ¥ Œ±±­ ±œòÌñÉ¥ ‰±ÕŒŠŒßKàKäKŒŠ&(dfhjLä±$é±ÊÏüý±($€²ž žÕŒø°ú°û°Ðü°ý°þ°ìHˈXêE>ÕŒßK …²
Š8‘ö—ö$вDÓ²Šß­÷­”®Š‘ö—ö 诱öüù³-Lü³Ÿ ŸÕŒìÝ †´
Œ8‘ö
Yüû:7 Return mutable reference to key and value at an index.Áº Ëü 0- Valid indices are `0 <= index < self.len()`.Á÷ Ëôÿ  Computes in **O(1)** time.Át¥
© ©ž„ø°ú°û°Ðü°ý°þ°ìHˈXêE> ©ƒ… ©¢…£ ´
£
¨ž„
ö,¿
üÐ @ü JG Return an iterator over the key-value pairs of the map, in their orderÁLÓ ª ªž„­­ê6±£ ·eÃ”ÒøA¦ªƒ…¢…£ Ý £
©ž„ ü£gü– HE Scan through each key-value pair in the map and keep those where theÁüã " closure `keep` returns `true`.ÁŠ
Ëü’
HE The elements are visited in order, and remaining elements keep theirÁ
 order.Áî
Ëüö
(ÛÈ­ ­ž„УЫ« ±£©â ®«¬ «ƒ… ¬¢…üÚ/«¬â$…
ªž„ûÅxzüðIüŽ/žý¾ËüÂ-* See [`MutableKeys`] for more information.Á­Ž®¤$¯¯®­å õõ øÍ¡ ûƒ¼ø°±²´µ¤¥¦¨©ªµ´²Z\_adfŬ¬ý÷¬¬ƒøüç~®¯ ®ø ¯ÇŸø°ú°û°Ðü°ý°þ°ìHˈXêE> ®ý÷ ®ƒø¬³³ û¬ªâÇŸ ø»bÇŸÇŸý÷
²ý÷ƒøÐøÇŸ$€åKMüÄF° °øø°ú°û°Ðü°ý°þ°ìHˈXêE> °ý÷ °ƒø¬ Ö¬
´ý÷ƒøÐøöü×?± ±ø­­ê6±£ ·eÃ”ÒøA¦±ø¤ø¥¬ ä¬
µý÷ƒøÐøüÑU´ ´ø¬Š·· ߬±­ ܲ³ ²ý÷ ³ƒøìˆ²³±š
ý÷ƒøÐøûÅüì!üß,) Opt-in mutable access to [`Entry`] keys.ÁŒËüPáý¹þüñGÑþü¹2¡ÿìËüðEçÿü¶Eµ€üüDƒÁËüÅ74 `use` this trait to enable its methods for `Entry`.ÁýËüP©‚¸¸–„üìöª„4‡¸–„"ª„–„.ª„º¹º©âž„¹L”‘žºD”¸¸ü¸(ü£SP Gets a mutable reference to the entry's key, either within the map if occupied,Áüû8§éµ µž„ µ™ž¸ ø
ºž„üÇ.üä,²šËü•1. See [`MutableEntryKey`] for more information.Á8¼Ž½½¼É¥ ÌÚ¥ Ïðû¾¿¹º¿"$')»»‘öüŽ'<· ·ðû ·ðû¹» »
¿8‘ö—öü§!6ü¼ 41 Opt-in mutable access to [`OccupiedEntry`] keys.Áñ Ëüõ 1¾Ÿ8¸ÁŽÂÁ¸ÂÉ¥ ¬!Ú¥ ¯!ËüÃĹºÄ"$')Dä!é!ÀÀ‘öüö!'<ù!¹ ¹Ëü ¹Ëü¹À "À
Ä8‘ö—ö$†"ü¹#4üÐ"2/ Opt-in mutable access to [`VacantEntry`] keys.Áƒ#Ëü‡#1¾Ÿ8ºÆŽÇºÆÇÉ¥ ¾#Ú¥ Á#œýÈɹºÉ"$')Dô#ù#ÅÅ‘öü†$'<‰$» »œý »œý¹Å ‘$Å
É8‘ö—ö$–$üº%5üÐ$30 Opt-in mutable access to [`IndexedEntry`] keys.Á„%Ëüˆ%1¾Ÿ8¼ËŽÌ¼ËÌÉ¥ ¿%Ú¥ Â%íýÍιºÎ"$')Dö%û%ÊÊ‘öüˆ&'<&½ ½íý ½íý¹Ê “&Ê
Î8‘ö—ö$˜&dÒ&4Ø&ÏÏ–„|Ò&Ï–„–„üã&*ÑŽÒ¤$Ó
C
㎎샚íƒlÕ°Ù[¢'õ‘Öô
ý÷ƒø®
ü± 5 ฼
ý÷ƒø$¿ ´¿ ŽŠŠå Ä õ Ç ÀŒŽ˜šœžŸ ¡¢£¤¥¦§¨©ª«­±¸¼ÁÄÈüÜ @ ãÒˆˆ
ý÷ƒø üï
"ÜÏ
 Returns an empty slice.Áü
 ý
Àˆý
ˆ
Œý÷ƒøý
üå$ü½# Returns an empty mutable slice.Á<ì ý
Àˆý
ˆ
Žý÷ƒøý
ôüŠ ü½:7 Return the number of key-value pairs in the map slice.ÁÄ ÄÀˆ ˆ
ý÷ƒøü$üÓ74 Returns true if the map slice contains no elements.ÁDªÅ ÅÀˆ ³ˆ
ý÷ƒøüÓ9üï" Get a key-value pair by index.ÁËüž0ÛˆÆ ÆÀø°ú°û°Ðü°ý°þ°ìHˈXêE> Æý÷ ƃøˆ äˆ
ý÷ƒøöüÒEüÌDA Get a key-value pair by index, with mutable access to the value.ÁËü0ÛˆÇ ÇÀø°ú°û°Ðü°ý°þ°ìHˈXêE> Çý÷ ǃøˆ çˆ
ý÷ƒøöüåIüÞEB Returns a slice of key-value pairs in the given range of indices.Á¨Ëü°0ÛˆÈ ÈÀß‚ø°ú°û°Ðü°ý°þ°ìHˈXêE>›Êˆë ˆ܃ ö탔ù
ý÷ƒøß‚˜ƒ,”-/üÆUü·MJ Returns a mutable slice of key-value pairs in the given range of indices.ÁËü‘0ÛˆÉ ÉÀß‚ø°ú°û°Ðü°ý°þ°ìHˈXêE>è̈ë òˆ܃ Û탔Þ
ý÷ƒøß‚˜ƒ-/üÒ'ü¬! Get the first key-value pair.Á,ÙÊ ÊÀø°ú°û°Ðü°ý°þ°ìHˈXêE> Êý÷ ʃøˆ ߈
˜ý÷ƒøüþ3ü¶C@ Get the first key-value pair, with mutable access to the value.ÁL…Ë ËÀø°ú°û°Ðü°ý°þ°ìHˈXêE> Ëý÷ ˃øˆ ˆ
ý÷ƒø$”üš&üõ  Get the last key-value pair.Á$¡Ì ÌÀø°ú°û°Ðü°ý°þ°ìHˈXêE> Ìý÷ ̃øˆ ¦ˆ
šý÷ƒøüÃ2üüB? Get the last key-value pair, with mutable access to the value.ÁDÊÍ ÍÀø°ú°û°Ðü°ý°þ°ìHˈXêE> Íý÷ ̓øˆ Óˆ
ý÷ƒøü…"6ü¸ +( Divides one slice into two at an index.Áè Ëüð " ***Panics*** if `index > len`.Áü—!UR For a non-panicking alternative see [`split_at_checked`][Self::split_at_checked].ÁR|ñ!DŒ"Î ÎÀë×ë׈ •"ˆ
œý÷ƒø$"ö,œ"üž%FüÁ#30 Divides one mutable slice into two at an index.Áù#Ëü$"ÅÕü¨$]Z For a non-panicking alternative see [`split_at_mut_checked`][Self::split_at_mut_checked].ÁR|Š%d¥%Ï ÏÀ™Ú™Úˆ ²%ˆ
ý÷ƒø$·%ö,½%ü×'Füö&+†Õ¦'Ëü®'$! Returns `None` if `index > len`.Á„Þ'Ð ÐÀø°ú°û°Ðü°ý°þ°ìHˈXêE>ËÛËÛˆ ï'ˆ
žý÷ƒø$ð'ö,ö'ü›*Vü²)3Â×ê)Ëüò)$ˆÚ¤¢*Ñ 
8 õ…8÷Lø…  š† ‚†8ƒ†8$‡†$ ‹†8˜ƒ,& ’†, ”†8˜ƒ,•†(œ† Ÿ†8 †8$¤†'¨†8Ø4ª† ±† ˆ‡8²R,Æ'Ȇ8þRtʆ ؆ ú† Ù†8Ú†8$Þ† â†8tㆠñ† ò† ó† ù†8˜ƒ,ô†8$ ¡‡8 ¢‡$ £‡8Ž ¥‡ ¦‡8áÒ,¨‡ ­‡, ®‡8˜ƒ,¯‡ ´‡8
¶‡8²R,º‡ ¿‡8 À‡$ Á‡8Ž Ç ć Ƈ óˆ8!$Ô‡8Ø4Ù‡ à‡8²R,⇠ç‡8 è‡$ é‡8Ž ë‡ ì‡% í‡8 ü‡8ö,ÿ‡ „ˆ ™ˆ …ˆ8$†ˆ$ Šˆ8˜ƒ,Œˆ& ‘ˆ, “ˆ8˜ƒ,”ˆ(›ˆ žˆ8$Ÿˆ ¤ˆ éˆ8$¶ˆ'ºˆ8ìRT¼ˆ ƈ Ûˆ Lj8$Ȉ ̈8®<͈ Ôˆ Úˆ8˜ƒ,Õˆ8$þˆ ‚‰8 ƒ‰$ „‰8Ž †‰ ‡‰8üÒD‰‰ ‘‰, ’‰8˜ƒ,“‰ ˜‰8
š‰8²R,ž‰ £‰8 ¤‰$ ¥‰8Ž §‰ ¨‰ ª‰ Ê8 ¸‰8÷L»‰ ĉ ݉ ʼn8Ɖ8$ʉ$ Ή8˜ƒ,Љ& Õ‰, ׉8˜ƒ,؉(߉ â‰8ã‰8$ç‰ ì‰ ¹Š8$þ‰'‚Š8þRt„Š ’Š «Š “Š8”Š8$˜Š œŠ8®<Š ¤Š ªŠ8˜ƒ,¥Š
ÊŠ¤´ü4
1 Opt-in access to the experimental raw entry API.Á5
Ëü9b
_ This module is designed to mimic the raw entry API of [`HashMap`][std::collections::hash_map],ÁüœG
D matching its unstable state as of Rust 1.75. See the tracking issueÁüäR
O [rust#56167](https://github.com/rust-lang/rust/issues/56167) for more details.Á·
Ëü»b
_ The trait [`RawEntryApiV1`] and the `_v1` suffix on its methods are meant to insulate this forÁüža
^ the future, in case later breaking changes are needed. If the standard library stabilizes itsÁü€`
] `hash_raw_entry` feature (or some replacement), matching *inherent* methods will be added toÁüá,
) `IndexMap` without such an opt-in trait.ÁÇ Ó í „
Ÿ
Ä
Ú
ƒ$
¹ » º 
¹ ¼ š Š²õ
¹ ¾ úÉ
ì¹ ¿ úÉí¹ ¿ Ò 
Ä ¹ À ÿÍé
Á]¹ Á j\ÿ
æb¹ Ã ¦
»b¹ Ä ¦Áb¹ Ä Îè
¹ Å Î芹 Å — ¼
Õ¹ Æ ä“
(+üµ(
ðòÉËLã
¸üò
«­šœÌ—
xL¶
2026-01-24 22:59:20 +00:00
Rüã(
üÂ4
ŒÖ ÷
ËüûM
J See the [`raw_entry_v1`][self] module documentation for more information.Á
Ç È ŽÉ ¤$Ê É Ç È Ê –„üãÆ-
Ú
ž„4…
É¥ û
Ú¥ þ
·§ 
Ç –„B¢á 6–„N¢á BË Ì Ë Ì Ë Ì OQTVY[üÓ7
2026-01-24 22:59:20 +00:00
ü’?
< Creates a raw immutable entry builder for the [`IndexMap`].ÁÖ
ËüÞE
B Raw entries provide the lowest level of control for searching and矬 I
F manipulating a map. They must be manually initialized with a hash andÁÜö
 then manually searched.Á
Ë´ž
 This is useful forÁ´¹
 * Hash memoizationÁüÔ
H
E * Using a search key that doesn't work with the [`Equivalent`] traitÁü¡ <
9 * Using custom comparison logic without newtype wrappersÁâ
Ëüê Q
N Unless you are in such a situation, higher-level and more foolproof APIs likeÁüÀ /
, [`get`][IndexMap::get] should be preferred.Áô
Ëüü G
D Immutable raw entries have very limited use; you might instead wantÁüÈ
1
2026-01-24 22:59:20 +00:00
. [`raw_entry_mut_v1`][Self::raw_entry_mut_v1].Áþ
Ët†
Âý
Ë
Üü­
2026-01-24 22:59:20 +00:00
 use core::hash::BuildHasher;ÁüÒ1
. use indexmap::map::{IndexMap, RawEntryApiV1};Áˆ
Ëü"
žþü·5
2 map.extend([("a", 100), ("b", 200), ("c", 300)]);Áñ
Ëüù-
* for k in ["a", "b", "c", "d", "e", "f"] {Áü«,
) let hash = map.hasher().hash_one(k);矆$
! let i = map.get_index_of(k);ÁÜ…
 let v = map.get(k);矴&
# let kv = map.get_key_value(k);ÁüÐ"
 let ikv = map.get_full(k);Á÷
Ëüÿ2
/ println!("Key: {} and value: {:?}", k, v);Á
Ëü¾7
4 assert_eq!(map.raw_entry_v1().from_key(k), kv);ÁüúH
E assert_eq!(map.raw_entry_v1().from_hash(hash, |q| *q == k), kv);矂L
I assert_eq!(map.raw_entry_v1().from_key_hashed_nocheck(hash, k), kv);Áü˜N
K assert_eq!(map.raw_entry_v1().from_hash_full(hash, |q| *q == k), ikv);ÁüëM
J assert_eq!(map.raw_entry_v1().index_from_hash(hash, |q| *q == k), i);Á
Øÿ
Ü
þ þž„Ó Ó ’bØ 
¹ †´•‡4ÀhIþ‘ö—ö–ùÇ  ã
Ç
Ë ž„‘ö—ö–ù
üå4B
ü5
2 Creates a raw entry builder for the [`IndexMap`].ÁÊ
ËüÒE
â üœI
Ûâ üêF
C then manually searched. After this, insertions into a vacant entryÁüµ.
2026-01-24 22:59:20 +00:00
+ still require an owned key to be provided.Áè
Ëüð9
6 Raw entries are useful for such exotic situations as:Á®
Ë´¶
øã üÑM
J * Deferring the creation of an owned key until it is known to be required矣H
—ä üð<
èä ±
Ëü¹M
J Because raw entries provide much more low-level control, it's much easierÁü‹N
K to put the `IndexMap` into an inconsistent state which, while memory-safe,ÁüÞQ
N will cause the map to produce seemingly random results. Higher-level and moreÁü´U
R foolproof APIs like [`entry`][IndexMap::entry] should be preferred when possible.ÁŽ
Ëü–F
C Raw entries give mutable access to the keys. This must not be usedÁüáP
M to modify how the key would compare or hash, as the map will not re-evaluateÁü¶H
E where the key should go, meaning the keys may become "lost" if theirÁüƒ L
I location does not reflect their state. For instance, if you change a keyÁüÔ K
H so that the map now contains keys which compare equal, search may startÁü¤!R
O acting erratically, with two keys randomly masking each other. ImplementationsÁüû!P
M are free to assume this doesn't happen (within the limits of memory-safety).ÁÐ"
ËtØ"
Âýë"
Ë<ó"
Üüÿ"
è ü¤#1
¶è üÚ#1
. use indexmap::map::raw_entry_v1::RawEntryMut;Á$
Ëü˜$"
žþü¿$5
ˆé ù$
Ëü%'
$ // Existing key (insert and update)Áü­%0
- match map.raw_entry_mut_v1().from_key("a") {Áüâ%1
. RawEntryMut::Vacant(_) => unreachable!(),Áü˜&,
) RawEntryMut::Occupied(mut view) => {矃&(
% assert_eq!(view.index(), 0);Áüö&)
& assert_eq!(view.get(), &100);Áü¤'#
let v = view.get_mut();ÁüÌ'"
 let new_v = (*v) * 10;Á¼ó'
 *v = new_v;Áü(0
- assert_eq!(view.insert(1111), 1000);ÁLÄ(
,Ò(
ØÿÜ(
Ëüä(
 assert_eq!(map["a"], 1111);Áìˆ)
 assert_eq!(map.len(), 3);Áª)
ËÔ²)
 // Existing key (take)矄)*
' let hash = map.hasher().hash_one("c");Áü€*E
B match map.raw_entry_mut_v1().from_key_hashed_nocheck(hash, "c") {ÁüÊ*1
±þ ü€+(
% RawEntryMut::Occupied(view) => {Áü­+(
% assert_eq!(view.index(), 2);ÁüÚ+>
; assert_eq!(view.shift_remove_entry(), ("c", 300));ÁL,
±
,«,
Øÿüµ,7
4 assert_eq!(map.raw_entry_v1().from_key("c"), None);Áìñ,
 assert_eq!(map.len(), 2);Á“-
Ëü›-*
' // Nonexistent key (insert and update)Á”Ê-
 let key = "d";Áüá-*
' let hash = map.hasher().hash_one(key);Áü.A
> match map.raw_entry_mut_v1().from_hash(hash, |q| *q == key) {ÁüÖ.3
0 RawEntryMut::Occupied(_) => unreachable!(),ÁüŽ/&
# RawEntryMut::Vacant(view) => {Áü¹/(
“„
2026-01-24 22:59:20 +00:00
üæ/4
1 let (k, value) = view.insert("d", 4000);ÁüŸ02
/ assert_eq!((*k, *value), ("d", 4000));ÁÜÖ0
 *value = 40000;ÁLö0
±
,„1
ØÿüŽ1
 assert_eq!(map["d"], 40000);Áì³1

Õ1
ËüÝ1A
“‡
ü£21
±þ üÙ2(
2026-01-24 22:59:20 +00:00
âƒ
ü†3(
“„
ü³3?
< assert_eq!(view.swap_remove_entry(), ("d", 40000));ÁL÷3
±
,…4
Øÿü4#
assert_eq!(map.get("d"), None);Áì·4
â…
<Ù4
Ü„è4
ÿ ÿž„í í §dò 
¹ ÓV•ãÂ8Øÿ‘ö—ö–ùÇ  ù4
Ç
Ì ž„‘ö—ö–ù$þ4
ü«5:
Î ŽÏ ¤$Ð Î Ï Ð å °5
õ ³5
Í¡ ¶5
øÑ Ò Ë Ì Ò Ñ .0358:üì56
dï5
 øÓ Ó ’bØ 
¹ †´•‡4ÀhIý÷ƒøÐøÍ  ü5
Í
Ñ ý÷ƒøÐø$ý5
üÖ6A
„Ù6
 øí í §dò 
¹ ÓV•ãÂ8Øý÷ƒøÐøÍ  ê6
Í
Ò ý÷ƒøÐø$ï6
ü»9'
üÌ7V
S A builder for computing where in an [`IndexMap`] a key-value pair would be stored.Á£8
Ëü§8V
S This `struct` is created by the [`IndexMap::raw_entry_v1`] method, provided by theÁüþ8<
9 [`RawEntryApiV1`] trait. See its documentation for more.Á|Æ9
ý
Ô Õ ŽÖ ¤$× Ö Ô × Õ É¥ Ú9
Ú¥ Ý9
·§ à9
ä©Ôé9
ó©–ùý
Ó Ó ’bØ 
¹ †´•‡4ÀhIý
‘ö—ö–ù†´•‡4ÀhIØ Ö9
Ž˜é9
¹ Ó Ó Éþüˆ:9
8Ú ŽÛ ¤$Ü Ú Û Ü É¥ :
Ú¥ :
·§ “:
ÅšÝ á`Ý #%(*-/üÈ:8
Ë:
ƒ ƒÅš Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•ªÙ  Ï:
Ù
Ý 8‘ö—ö–ù$Ð:
2026-01-24 22:59:20 +00:00
þ Ö:
üÎ;.
ý
ß à Žá ¤$â ß á â à É¥ ×;
Ú¥ Ú;
·§ Ý;
¡•
ã å ç é ë Ó;
-/2479ü£<‡
܃<
 Access an entry by key.ÁDª<
¡•
ø°ú°û°Ðü°ý°þ°ìHˈXêE>¶¡Þ ä ä  Á<
Þ ªâ’›
³<
œ¨\ô<
»b’›
$•=
’›
‘ölœ=
ã ý
‘ö—ö–ù’›
$¶<
å¼<
Y[ü>
üà=*
' Access an entry by a key and its hash.Á¼–>
¡•
 ’›
˜›
Þ æ æ  Ç>
Þ „œ
®>
­œ
lƒ?
å ý
‘ö—ö–ù’›
2026-01-24 22:59:20 +00:00
$±>
¢$·>
åÂ>
>@üÇ@s
ä¦@
 Access an entry by hash.ÁLÎ@
¡•
Åø˜›
2026-01-24 22:59:20 +00:00
Þ Šè è Þ Šù Ø@
ˆÅø ˆ‘öŒ¨A
ˆÅøåŸ
 $µA
ç ý
‘ö—ö–ùÅø$Û@
¢$á@
¨­Dì@
vxüîB
ü¸B1
. Access an entry by hash, including its index.ÁtõB
¡•
Åøø°ú°û°Ðü°ý°þ°ìHˈXêE>¸¡¡Þ Šê ê Þ Šù „C
2026-01-24 22:59:20 +00:00
Åø ‘öŒÛC
Åø¿¢
 $èC
é ý
‘ö—ö–ùÅø$‡C
¢$C
¨­D˜C
vxüÌEp
üžE)
& Access the index of an entry by hash.Á|ÓE
¡•
ÅøЏÞ Šì ì Þ Šù ãE
ŠÅø Š‘öŒªF
ŠÅøƤ
 $·F
ë ý
‘ö—ö–ùÅø$æE
¢$ìE
¨­D÷E
vxü£I*
ü°GV
2026-01-24 22:59:20 +00:00

‡H
Ëü‹HZ
W This `struct` is created by the [`IndexMap::raw_entry_mut_v1`] method, provided by theÁüæH<
æ’
2026-01-24 22:59:20 +00:00
”®I
ý
î ï Žð ¤$ñ î ð ñ ï É¥ ÅI
Ú¥ ÈI
·§ ËI
ä©ôÔI
ó©••
í í §dò 
¹ ÓV•ãÂ8Øý
‘ö—ö–ùÓV•ãÂ8Øò ÁI
ŒŽÔI
¹ í í Ûþü÷I<
8ô Žõ ¤$ö ö õ ô É¥ üI
Ú¥ ÿI
·§ J
Š›÷ á`÷ #%(*-/üºJ8
½J
ŒŽ ŒŠ› Á`Á`œÃ`è Á]Ä`öÑÁ]Ê­\É:•Žªó  ÁJ
ó
÷ 8‘ö—ö–ù$ÂJ
þ ÈJ
üÃK1
ý
ù ú Žû ¤$ü û ù ü ú É¥ ÌK
Ú¥ ÏK
2026-01-24 22:59:20 +00:00
·§ ÒK
º§
ý ÿ
ÈK
'),.13ü›L‰
ÜûK
É™
D¢L
º§
2026-01-24 22:59:20 +00:00
’›


Š
 +
ìŒ

2026-01-24 22:59:20 +00:00
½+Ž
ìÁ?/ò¿òi—ý
‘ö—ö–ùø þ þ  ¹L
2026-01-24 22:59:20 +00:00
ø „œ
«L
œ¨\îL
œ
$M
­œ
lM
ý ý
‘ö—ö–ù’›
$®L
å´L
FHüÂN„
ü“N*
†œ
¼ÉN
º§
 ’›
­
ø 

 úN
ø „œ
áN
­œ
2026-01-24 22:59:20 +00:00
l¸O
ÿ ý
‘ö—ö–ù’›
$äN
¢$êN
2026-01-24 22:59:20 +00:00
åõN
>@êO
ÿ ß­
÷­
”®