drop_some

Crates.iodrop_some
lib.rsdrop_some
version1.0.1
sourcesrc
created_at2020-08-10 07:56:47.425733
updated_at2020-08-10 08:03:25.026444
description`.drop_some` syntax sugar for `Option`. It's instead of `.map(|_|())`.
homepage
repositoryhttps://github.com/usagi/drop_some
max_upload_size
id274965
size6,328
Usagi Ito (usagi)

documentation

https://docs.rs/drop_some/1.0.1/drop_some/trait.DropSome.html#example

README

drop_some

  • This crate defines DropSome trait and impl for Option.
  • DropSome trait has .drop_some(self) -> Option<()> function.
  • This is a syntax sugar for .map(|_|()).

Useful scene

fn some_function() -> Option<()>
{
 match switcher
 {
  pattern_a => some_task1().drop_some()?
  pattern_b => some_task2().drop_some()?
  pattern_c => some_task3()?
  pattern_d => some_task4()
  _ => ()
 }
}

fn some_task1()     -> Option<i8     > { /* abbr */ }
fn some_task2<'a>() -> Option<&'a str> { /* abbr */ }
fn some_task3()     -> Option<()     > { /* abbr */ }
fn some_task4() { /* abbr */ }
  • See also: <tests/test.rs>

Note

"I don't need it, because ..."

  • Yes, your are right to your world.
    • But, I tired to type/see .map(|_|()). So I'm happy with.drop_some().

LICENSE

Author

Commit count: 3

cargo fmt