https://github.com/emmiegit/rust-ref-map
Helper trait with convenience methods for mapping references of Option and Result.
https://github.com/emmiegit/rust-ref-map
borrowing references rust traits
Last synced: 3 months ago
JSON representation
Helper trait with convenience methods for mapping references of Option and Result.
- Host: GitHub
- URL: https://github.com/emmiegit/rust-ref-map
- Owner: emmiegit
- License: mit
- Created: 2020-01-26T05:18:24.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-19T04:24:18.000Z (over 2 years ago)
- Last Synced: 2025-02-28T07:51:40.299Z (4 months ago)
- Topics: borrowing, references, rust, traits
- Language: Rust
- Size: 20.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## ref-map
[](https://travis-ci.org/emmiegit/rust-ref-map)
Rust crate for convenience traits on `Option` and `Result`.
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.```rust
use ref_map::*;let string: Option = 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` for `Ok`, and `ref_map_err()` for `Err`.
----
Copyright (C) 2020-2021 Ammon Smith
Available under the MIT License.