Crate maplit

source ·
Expand description

Macros for container literals with specific type.

#[macro_use] extern crate maplit;

let map = hashmap!{
    "a" => 1,
    "b" => 2,

The maplit crate uses => syntax to separate the key and value for the mapping macros. (It was not possible to use : as separator due to syntactic restrictions in regular macro_rules! macros.)

Note that rust macros are flexible in which brackets you use for the invocation. You can use them as hashmap!{} or hashmap![] or hashmap!().

Generic container macros already exist elsewhere, so those are not provided here at the moment.


  • Create a BTreeMap from a list of key-value pairs
  • Create a BTreeSet from a list of elements.
  • Macro that converts the keys or key-value pairs passed to another maplit macro. The default conversion is to use the Into trait, if no custom conversion is passed.
  • Create a HashMap from a list of key-value pairs
  • Create a HashSet from a list of elements.