! / 0 0 0 0 8 ` // 76 ` nohash_hasher-fd49e62d6f3f7b3f.nohash_hasher.fce77dae92bfcd00-cgu.0.rcgu.o/ lib.rmeta/ 0 0 0 644 31928 ` ELF>8{@@GNUrusty?#rustc 1.72.0 (5680fa18f 2023-08-23) }ޱL{ :-8f88c761e33f2651ՆQ4-46a989d0e2cef827e$ɛDp>-b114db70ea0690b1rustc_std_workspace_core ūu sR-13da980d6c74fec5YnFmZܝ--649be05783c8912epWĪ9/-f002c8f83a289c4b &c~~*ĽVa-682387162b570769cfg_ifz$kdgK!--05a2cedbb78c1d4f miniz_oxidePnzn )m-9c3df673b2797081adlerA%lon  2-c6afbee8d1102512 hashbrown8*^| -356231f77d1e268arustc_std_workspace_allocL%gqG-80ed5799bf463787 std_detecta^Ʒc -1bccb7a942e1b311rustc_demanglekŗ,N/ST%L)-bc6864da821ce9a2 addr2line2Ȃ']51:.-4930b3dc482158f7gimli~2)F25˼-65bea4bb6af40828object^]UVW-919f89587cbed68dmemchrk/YO+-c6624cb4360306cdBhnge],Q-f9018f9cee1cc5ff NoHashHasher .........testsCCCC CCC  IntMap K VIntSet BuildNoHashHasher    < IsEnabled     ,,write,write_u8, write_u16, write_u32, write_u64, write_usize,write_i8, write_i16, write_i32, write_i64, write_isize,finish7777.7.7/707172737475767778797!G    d>!!!!!!!!!!!I,&(%$")#*+'GAI!   NoHashHasher   H ,   G, E ;   ; DD E   'w z*  GGGEGEGEG EGEGbufEQ ! >S EE DebugTupleEEE EEfieldsEE empty_nameE= 1D;;,,   #    PhantomData<ɏ H H"""$ "!L"!""!!L,, 95Invalid use of NoHashHasher,.5S5 5   5,5 5S66 6@ 26@ , ,6.,NoHashHasher: second write attempt detected.,, ,7 7  7 77 77/666 626@66 ,7 6 n6677  7@ 37@,,7.,NoHashHasher: second write attempt detected.,,,8 8  8 88 880777 737@77,8 7 7799 9@ 49@,,9.,NoHashHasher: second write attempt detected.,,,9 9  9 9: ::1898 949@99,9 8 98:: :@ 5:@,,:.,NoHashHasher: second write attempt detected.,,,; ; ;;2::: :5:@::,: ::;; ;@ 6;@,,;.,NoHashHasher: second write attempt detected.,,,<< <<3;;; ;6;@;;,; ;;== =@ 7=@,,=.,NoHashHasher: second write attempt detected.,,,== =>4<=< =7=@==,< =<>>  >@ 8>@#,#,>.,NoHashHasher: second write attempt detected.,,#,?? ??5>>> >8>@>>#,> >>?? $?@ 9?@',',?.,NoHashHasher: second write attempt detected.,,',@@ @@6??? ?9?@??',? ??AA (A@ :A@+,+,A.,NoHashHasher: second write attempt detected.,,+,AA AB7@@@ @:A@AA+,@ @@BB ,B@ ;B@/,/,B.,NoHashHasher: second write attempt detected.,,/,BC CC8BBB B;B@BB/,B BBCC9C.CCCC.   ! EBuildHasherDefaultJI  Y ! E>JI  DD W A `HashMap` with an integer domain, using `NoHashHasher` to perform no hashing at all.Z # Examples- See [`IsEnabled`] for use with custom types.0 ``` use nohash_hasher::IntMap;2 let mut m: IntMap = IntMap::default();5 m.insert(0, false); m.insert(1, true); assert!(m.contains_key(&0));  assert!(m.contains_key(&1)); B       base:QFFFJJJ>J I È樒T    d>!F L A `HashSet` of integers, using `NoHashHasher` to perform no hashing at all.O A  A 0 B  use nohash_hasher::IntSet;   let mut m = IntSet::default(); "  m.insert(0u32);  m.insert(1u32);   assert!(m.contains(&0));  assert!(m.contains(&1)); B   &              F /ϥY]JJJ>J I È樒T  ? An alias for `BuildHasherDefault` for use with `NoHashHasher`. B A  C See also [`IntMap`] and [`IntSet`] for some easier usage examples. F B & use nohash_hasher::BuildNoHashHasher; ) use std::collections::HashMap; "8 let mut m: HashMap::> =;H HashMap::with_capacity_and_hasher(2, BuildNoHashHasher::default());K m.insert(0, 'a'); m.insert(1, 'b');# assert_eq!(Some(&'a'), m.get(&0));&# assert_eq!(Some(&'b'), m.get(&1));&BLMP For an enabled type `T`, a `NoHashHasher` implements `std::hash::Hasher` andSQ uses the value set by one of the `write_{u8, u16, u32, u64, usize, i8, i16, i32,T) i64, isize}` methods as its hash output.,M `NoHashHasher` does not implement any hashing algorithm and can only be usedPK with types which can be mapped directly to a numeric value. Out of the boxNO `NoHashHasher` is enabled for `u8`, `u16`, `u32`, `u64`, `usize`, `i8`, `i16`,RN `i32`, `i64`, and `isize`. Types that should be used with `NoHashHasher` needQQ to implement [`IsEnabled`] and by doing so assert that their `Hash` impl invokesTO *only one* of the `Hasher::write_{u8, u16, u32, u64, usize, i8, i16, i32, i64,R isize}` methods *exactly once*.#AJ See also [`BuildNoHashHasher`], [`IntMap`] and [`IntSet`] for some easierM= usage examples. See [`IsEnabled`] for use with custom types.@B! use nohash_hasher::NoHashHasher;$; use std::{collections::HashMap, hash::BuildHasherDefault};>G let mut m: HashMap::>> =JI HashMap::with_capacity_and_hasher(2, BuildHasherDefault::default());LPPQ&Q&B;  Ld>!  &L4S :7;7<7 :7 ;7GGGEGEGEG EGEGEQ ! >S<7 #L  !!L!!!!!!!! !!!=7 =7! !#   L###,1 Types which are safe to use with `NoHashHasher`.#4$F This marker trait is an option for types to enable themselves for use$IC with `NoHashHasher`. In order to be safe, the `Hash` impl needs to$F" satisfy the following constraint:%%%K > **One of the `Hasher::write_{u8,u16,u32,u64,usize,i8,i16,i32,i64,isize}`%N# methods is invoked exactly once.**&&&G The best way to ensure this is to write a custom `Hash` impl even when&JC deriving `Hash` for a simple newtype of a single type which itself'F) implements `IsEnabled` may work as well.',' # Example( (B( #[derive(PartialEq, Eq)]( struct SomeType(u32);(($ impl std::hash::Hash for SomeType {('; fn hash(&self, hasher: &mut H) {(>! hasher.write_u32(self.0))$ })  })). impl nohash_hasher::IsEnabled for SomeType {})1*. let mut m = nohash_hasher::IntMap::default();*1* m.insert(SomeType(1), 't');* m.insert(SomeType(0), 'f');++- assert_eq!(Some(&'t'), m.get(&SomeType(1)));+0- assert_eq!(Some(&'f'), m.get(&SomeType(0)));+0B,, !!!,,,,-----.5-4445 44--L5!5 ./01234567895555>7?7 >7 ?7,5, .566@7 @7,6, /6677 A7 A7,7, 07788 B7 B7,8, 199:: C7 C7,:, 2::;#; D7 D7,;, 3;;<<E7 E7,<, 4<=>> F7 F7,>, 5>>?? G7 G7,?, 6??@@ H7 H7,@, 7@@B#B I7 I7,B, 8BBCCJ7 J7,C, 9C !55678:;<>?@BC             !  Ϳ}zHͿ}m:VͿ}EJ -Ϳ}.TW uͿ}/Ϳ}?9(atͿ}d=8Ϳ}ap'Ϳ}R7Я5Ϳ}zi:Ϳ}R:Ϳ}6–Ϳ} NͿ}q^o1Ϳ}mͿ}D5Ϳ}2%2DkͿ}kͿ}v닿✛SͿ}NuȖͿ}'ZeͿ}GNDͿ} +Ϳ}Q)iNͿ}瑎ne~Ϳ}@칠Ϳ} h=:Ϳ} R*]kͿ}k Ϳ}?jͿ}٣ۭ:Ϳ}Q)K |LͿ}IͿ}f ϋͿ}ki9Ϳ}=>ǦͿ}pCͿ}}t,X ^ #n&A)/// 0N0a112U22'3#888889929G9\9q9 :v:::;;;`<<$===J>8N/10182 38888899,9A9V9k99    !      "%)/w////012u8:::N;;<t<<8===^>   , 4 @ L X ###R&h&%);)]/////020H0[111 292O22 3!38888899,9A9V9k99:p::4;;;Z<<===D>>>>>>>>>>>>>>? ???   & 2 : F R "##%X&(+)/c/////0800c1112?2223o888888 9949I9^999 :v:::;;;`<<$===J>>>>>>>>>>>>>? ???!?"##%e&)8)+/////0$0E0?1y112+2L22238888889(9=9R9g99:Y::;z;;><<=d==(>>"##%^&)1)//////0>001e1112E2223v888888 9!969K9`999J:: ;k;;/<<<U==>y>8 #%#)6////0/0C112622 3888899*9?9T9i99]::;~;;B<<=h==,>>/y/012:::O;;<u<<9===_>Q/z/012:::P;;<v<<:===`>i/012:|::@;;<f<<*===P>$gnu|##g&:)/G01N2 3: h  [wv f  Y g  ZJ1 22d::#;;;I<< =o==3>>8# $$$$$$$$$$$$ / 0a122m8888889929G9\99D/8/%29QX_cjqx-=M_n~ G/#?*('$+     +,( %"!/ #    )$&# '   ,B@Ϳ}LnS >@Ϳ}=* z:@Ϳ}<ձ. 6@Ϳ}P{$crate::panic::panic_2015)A@,libstd_sys_internals &&Ϳ}m"H=@, &&Ϳ} -!9W9@, &&Ϳ}OՎ5%, &&Ϳ}WU(B8?@Ygeneric_assert_internals&Ϳ}Sӌ~;@Y&Ϳ}#1m7@Y&Ϳ}I2$Ϳ}'R$k$?@Ϳ}|]%T;@Ϳ}g@ 7@Ϳ}o.%?@, &&Ϳ}%;@, &&Ϳ}6vD[ 7@, &&Ϳ}"ƪ+VA@Y&Ϳ}Ѵh=@Y&Ϳ}Z6]Sg9@Y&Ϳ}oUgS(A@Ϳ}<ȣl =@Ϳ}Q#.69@Ϳ}ן?1+> -B@, &&Ϳ}x;Mb!>@, &&Ϳ}Yjwb:@, &&Ϳ}s\pҔ 6@, &&Ϳ}ߥfoոB@Y&Ϳ}[bŁͧ>@Y&Ϳ}_su:@Y&Ϳ}xi6@Y&Ϳ}q)  7@  Ϳ}j7/l, ,B@  Ϳ}y;_ 䑥 >@  Ϳ}fⲥl:@  Ϳ}FH@p (A@  Ϳ}CH6@  Ϳ}ڌw=8L`%=@  Ϳ}رD9@  Ϳ}&:s%F5%  Ϳ}FB= $?@  Ϳ}ֹO;@  Ϳ}dͿ4__ig__g_?`g6`_agv__g_.`yg%`n_Yge__g_`qg`]_gT__g__ `L__`D___<__G`bQigbdfzbdf'bEdifah(fgdiaMheichdaheich`gee`^cAe`:ce`cdh`X`cuiIgbd gbdfjbqdfbhYfg5dAiaqhfic ia=heichTa he`rcUe`Nc1e`*c e|`ODHT KͿ} N Ϳ} +Ϳ}9e"};Ϳ}zbN%Ϳ}mͿ}EJ -Ϳ}k Ϳ}dq 9(Ϳ}e>9GͿ}x^6AͿ}uĸd'9Ϳ}'ZeͿ}&LRܬ &Ϳ}Wu)Ϳ}R: Ϳ} ʽ!:Ϳ}GNDͿ}kiͿ}sYɐBDͿ}Y~FͿ}v닿✛SͿ}F%J.0Ϳ} h=:Ϳ}kͿ}@칠Ϳ}Zm*q/Ϳ}瑎ne~Ϳ}m:VͿ}^ؽok'Ϳ}Nq^g,Ϳ}7׃kJ2Ϳ}UtDI3Ϳ}@7&oCͿ}}t,X JͿ}Q)K |LͿ}0IX5u4Ϳ}=>ǦH'x'@ooP:r"8afz'5`k5K `Rc\ ky )0{tN:hb:rv~!U)xCA8q+yfxTd:S'x'@ooPa/home/steffen/.cargo/registry/src/index.crates.io-6f17d22bba15001f/nohash-hasher-0.2.0/src/lib.rs {ybW?05iWep]5RLLQP++J[16!!OP1#ICG*#&,"%$-"%$5JG&O'KG-(?% 22 110$.BBB7>>>>>>'0$.$J&J&J&J*J$J&J&J&J*J  4%5%5%5%7%4%5%5%5%8% 3 4 4 4 6 3 4 4 4 6)nR)|Yvx86_64-unknown-linux-gnukkpm;ݮ؆a" nohash_hasher-fd49e62d6f3f7b3fͿ}n KKHH-:-:::::DDDDD:D:.note.gnu.property.shstrtab.strtab.symtab.rmeta@ .`z&z{{5/0 0 0 0 644 592 ` ELF>@@6.text.debug_aranges.note.GNU-stack.strtab.symtabnohash_hasher.fce77dae92bfcd00-cgu.0&p[@@@.@0