This module defines a associative map datastructure for spans data (meta, metrics, etc.) backed
by a vector. Spans are mostly allocated and constructed, and more rarely read or mutated.
VecMap is thus optimized for insertion (which is just Vec::push), without any hashing
involved. Fetching and removing a value is, on the other hand, linear time in the size of the
map. However, since meta and metrics are expected to be typically small (20ish elements or
less), linear scan is usually still competitive with hashmap’s get.
Trait representing the requirements for a type to be used as a Span “string” type.
Note: Borrow is not required by the derived traits, but allows to access HashMap elements
from a static str and check if the string is empty.
Trait representing a tuple of (Text, Bytes) types used for different underlying data structures.
Note: The functions are internal to the msgpack decoder and should not be used directly: they’re
only exposed here due to the unavailability of min_specialization in stable Rust.
Also note that the Clone and PartialEq bounds are only present for tests.