Skip to content

Helper trait with convenience methods for mapping references of Option and Result.

License

Notifications You must be signed in to change notification settings

emmiegit/rust-ref-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ref-map

Build Status

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.

About

Helper trait with convenience methods for mapping references of Option and Result.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages