2 unstable releases

0.2.0 May 16, 2024
0.1.0 May 12, 2024

#1342 in Rust patterns

Download history 320/week @ 2024-05-10 53/week @ 2024-05-17 11/week @ 2024-05-24 3/week @ 2024-05-31 2/week @ 2024-07-05

75 downloads per month

MIT/Apache

55KB
798 lines

rs-std-ext

This crate provides some additions to the standard library api.

How to use

In general, the extensions provided by this crate are based on rust's trait system, so you only need to import the provided traits to use the extension methods.

Take std::option::Option as an example:

// import the trait
use rs_std_ext::option::OptionExt;

let op: Option<usize> = Some(42);
assert_eq! (
    // this method is defined by the `OptionExt` trait
    op.is_none_or(|x| *x > 0),
    true
);

For extended methods, read the documentation on docs.rs. The layout of the extension trait basically matches the layout of rust std and rust core, with Ext as a suffix, e.g. the trait for std::option::Option is rs_std_ext::option::OptionExt.

License

This crate is licensed under the MIT License or the Apache v2.0 License.


lib.rs:

std-ext

This crate provides some additions to the standard library api.

How to use

In general, the extensions provided by this crate are based on rust's trait system, so you only need to import the provided traits to use the extension methods.

Take std::option::Option as an example:

// import the trait
use rs_std_ext::option::OptionExt;

let op: Option<usize> = Some(42);
assert_eq! (
    // this method is defined by the `OptionExt` trait
    op.is_none_or(|x| *x > 0),
    true
);

The layout of the extension trait basically matches the layout of rust std and rust core, with Ext as a suffix, e.g. the trait for std::option::Option is rs_std_ext::option::OptionExt.

Dependencies

~75KB