Crate vesta[−][src]
A vesta, otherwise known as a match case, is a small container for matches, named after the Roman goddess of the hearth.
Vesta is a crate for extensibly matching cases in Rust.
By implementing Match
and Case
for some type (or better yet, correctly
deriving them using the Match
derive macro), you can pattern-match on that type
using the case!
macro almost like using the match
keyword built into Rust.
However, Vesta’s case!
macro is more general than match
, because Match
and Case
are traits! This means you can enable pattern-matching for types which are not literally
implemented as enum
s, and you can write code which is generic over any type that is
pattern-matchable.
Macros
case | Match on the cases of a value implementing |
Enums
Exhaustive | A marker type indicating that the |
Nonexhaustive | A marker type indicating that the |
Traits
Case | An implementation of |
CaseExt | An extension trait providing methods analogous to those in |
Match | A type which is |
Functions
assert_exhaustive | Statically assert that the type of the given value is exhaustive for |
Derive Macros
Match | Derive correct and efficient instances of |