option-ext (0.2.0)
Published 2026-03-26 11:00:51 +00:00 by siennathesane
Installation
[registry]
default = "gitea"
[registries.gitea]
index = "sparse+ " # Sparse index
# index = " " # Git
[net]
git-fetch-with-cli = truecargo add option-ext@0.2.0About this package
Extends `Option` with additional operations
option-ext
Introduction
This crate extends Option with additional methods, currently:
containsmap_or2(as a replacement formap_or)map_or_else2(as a replacement formap_or_else)
Its sister crate is result-ext, which extends Result.
Requirements
Rust 1.0 or newer.
Usage
Dependency
Add the library as a dependency to your project by inserting
option-ext = "0.2.0"
into the [dependencies] section of your Cargo.toml file.
Example
use option_ext::OptionExt;
fn example_contains() {
let x: Option<u32> = Some(2);
assert_eq!(x.contains(&2), true);
let x: Option<u32> = Some(3);
assert_eq!(x.contains(&2), false);
let x: Option<u32> = None;
assert_eq!(x.contains(&2), false);
}
fn example_map_or2() {
let x = Some("bar");
assert_eq!(x.map_or2(|v| v.len(), 42), 3);
let x: Option<&str> = None;
assert_eq!(x.map_or2(|v| v.len(), 42), 42);
}
fn example_map_or_else2() {
let k = 23;
let x = Some("bar");
assert_eq!(x.map_or_else2(|v| v.len(), || 2 * k), 3);
let x: Option<&str> = None;
assert_eq!(x.map_or_else2(|v| v.len(), || 2 * k), 46);
}
Details
2026-03-26 11:00:51 +00:00
Assets (1)
Versions (1)
View all
Cargo
0
Simon Ochsenreither <simon@ochsenreither.de>
MPL-2.0
7.3 KiB
option-ext-0.2.0.crate
7.3 KiB
0.2.0
2026-03-26