Crates.io | ref-map |
lib.rs | ref-map |
version | 0.1.3 |
source | src |
created_at | 2020-01-26 08:26:38.312126 |
updated_at | 2021-08-15 03:45:50.039641 |
description | Helper trait for Option and Result to map references |
homepage | |
repository | https://github.com/ammongit/rust-ref-map |
max_upload_size | |
id | 202090 |
size | 12,237 |
Rust crate for convenience traits on Option<T>
and Result<T, E>
.
Has no dependencies, and should work on any Rust release channel.
Three methods are provided, ref_map()
for Some(_)
and Ok(_)
, and ref_map_err()
for Err(_)
.
This allows easily mapping borrowed values from maybe values.
use ref_map::*;
let string: Option<String> = Some("hello world\n".into());
// Without ref-map:
// the .as_ref() is necessary because otherwise it tries to consume the String
let message: Option<&str> = string.as_ref().map(|s| s.trim());
// With ref-map:
let message: Option<&str> = string.ref_map(|s| s.trim());
ref_map()
is also provided for Result<T, E>
for Ok
, and ref_map_err()
for Err
.
Copyright (C) 2020-2021 Ammon Smith
Available under the MIT License.