#default-value #default #try #options #present #version

nightly try_default

A trait to optionally get the Default if present, or None if there is no Default

2 stable releases

1.0.1 Oct 14, 2023
1.0.0 Mar 8, 2021

#5 in #present

Download history 2/week @ 2024-02-13 21/week @ 2024-02-20 18/week @ 2024-02-27 1/week @ 2024-03-05 38/week @ 2024-03-12

59 downloads per month
Used in 2 crates

MIT license

4KB
51 lines

TryDefault

Current Crates.io Version

A 'try' version of Default, where it returns an Option::Some wrapping the default value when present. It returns Option::None when there is no Default available.

You can in theory call this on any type to retrive it's Default, if there is one!

use ::try_default::TryDefault;

// Set to `Some(0)`.
let default_num = <u32>::try_default();

// Set to `None`, as `::std::fs::File` has no `Default`.
let default_file = <::std::fs::File>::try_default();

Notes

  • Requires nightly for specialization feature.
  • Is possibly the world's most pointless crate. But it's here if you need it!

No runtime deps