match_opt 0.1.2

A macro for turning a partial match into a full match returning an option.
Documentation
  • Coverage
  • 50%
    1 out of 2 items documented1 out of 1 items with examples
  • Size
  • Source code size: 7.86 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.01 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • huitseeker/match-opt
    0 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • huitseeker

match_opt Build Status

match_opt is a macro that converts a partial pattern-match into one that returns an Option. This can be used as a shorthand to simplify a complex pattern-match, for which only one or few cases are useful.

For example:

let some_results = vec!["1", "2", "3", "foo", "bar", "4"].map(|v| v.parse::<usize>());
let some_pattern_match = some_results.filter_map{|x| match x {
    Ok(v) if v > 2 => Some(v),
    _ => None,
}};
// this is equivalent to
let alternate_pattern_match = some_results.filter_map{|x| match_opt!(x, OK(v) if v > 2 => v)};

This crate has no dependencies.

Documentation

The API can be found here.

Installation

Add the following line to the dependencies of your Cargo.toml:

match_opt = "0.1.0"

Contributors

The authors of this code is François Garillot (@huitseeker).

License

This project is MIT licensed.