@@ -379,77 +379,3 @@ macro_rules! dbg {
379379        ( $( $crate:: dbg!( $val) ) ,+, ) 
380380    } ; 
381381} 
382- 
383- #[ doc( hidden) ]  
384- #[ macro_export]  
385- #[ allow_internal_unstable( hash_map_internals) ]  
386- #[ unstable( feature = "hash_map_internals" ,  issue = "none" ) ]  
387- macro_rules!  repetition_utils { 
388-     ( @count $( $tokens: tt) ,* )  => { { 
389-         [ $( $crate:: repetition_utils!( @replace $tokens => ( ) ) ) ,* ] . len( ) 
390-     } } ; 
391- 
392-     ( @replace $x: tt => $y: tt)  => {  $y } 
393- } 
394- 
395- /// Creates a [`HashMap`] containing the arguments. 
396- /// 
397- /// `hash_map!` allows specifying the entries that make 
398- /// up the [`HashMap`] where the key and value are separated by a `=>`. 
399- /// 
400- /// The entries are separated by commas with a trailing comma being allowed. 
401- /// 
402- /// It is semantically equivalent to using repeated [`HashMap::insert`] 
403- /// on a newly created hashmap. 
404- /// 
405- /// `hash_map!` will attempt to avoid repeated reallocations by 
406- /// using [`HashMap::with_capacity`]. 
407- /// 
408- /// # Examples 
409- /// 
410- /// ```rust 
411- /// #![feature(hash_map_macro)] 
412- /// 
413- /// let map = hash_map! { 
414- ///     "key" => "value", 
415- ///     "key1" => "value1" 
416- /// }; 
417- /// 
418- /// assert_eq!(map.get("key"), Some(&"value")); 
419- /// assert_eq!(map.get("key1"), Some(&"value1")); 
420- /// assert!(map.get("brrrrrrooooommm").is_none()); 
421- /// ``` 
422- /// 
423- /// And with a trailing comma 
424- /// 
425- ///```rust 
426- /// #![feature(hash_map_macro)] 
427- /// 
428- /// let map = hash_map! { 
429- ///     "key" => "value", // notice the , 
430- /// }; 
431- /// 
432- /// assert_eq!(map.get("key"), Some(&"value")); 
433- /// ``` 
434- /// 
435- /// The key and value are moved into the HashMap. 
436- /// 
437- /// [`HashMap`]: crate::collections::HashMap 
438- /// [`HashMap::insert`]: crate::collections::HashMap::insert 
439- /// [`HashMap::with_capacity`]: crate::collections::HashMap::with_capacity 
440- #[ macro_export]  
441- #[ allow_internal_unstable( hash_map_internals) ]  
442- #[ unstable( feature = "hash_map_macro" ,  issue = "144032" ) ]  
443- macro_rules!  hash_map { 
444-     ( )  => { { 
445-         $crate:: collections:: HashMap :: new( ) 
446-     } } ; 
447- 
448-     (  $(  $key: expr => $value: expr ) ,*  $( , ) ? )  => { { 
449-         let  mut  map = $crate:: collections:: HashMap :: with_capacity( 
450-             const  {  $crate:: repetition_utils!( @count $( $key) ,* )  } 
451-         ) ; 
452-         $(  map. insert( $key,  $value) ;  ) * 
453-         map
454-     } } 
455- } 
0 commit comments