unchecked_unwrap 4.0.0

Adds an unchecked version of `unwrap()` and `expect()` to Option and Result.
Documentation
#![feature(test)]
#![warn(
    clippy::all,
    clippy::cargo,
    clippy::missing_docs_in_private_items,
    clippy::pedantic,
    clippy::nursery,
    missing_docs
)]

mod checked {
    extern crate test;

    use self::test::{black_box, Bencher};

    #[bench]
    fn expect_option(bencher: &mut Bencher) {
        let option = Some("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                black_box(black_box(option).expect(""));
            }
        });
    }

    #[bench]
    fn expect_result(bencher: &mut test::Bencher) {
        let result: Result<_, ()> = Ok("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                black_box(black_box(result).expect(""));
            }
        });
    }

    #[bench]
    fn unwrap_option(bencher: &mut test::Bencher) {
        let option = Some("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                black_box(black_box(option).unwrap());
            }
        });
    }

    #[bench]
    fn unwrap_result(bencher: &mut test::Bencher) {
        let result: Result<_, ()> = Ok("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                #[allow(clippy::unwrap_used)]
                black_box(black_box(result).unwrap());
            }
        });
    }
}

mod unchecked {
    extern crate test;

    use self::test::{black_box, Bencher};
    use unchecked_unwrap::UncheckedUnwrap;

    #[bench]
    fn expect_option(bencher: &mut Bencher) {
        let option = Some("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                unsafe {
                    black_box(black_box(option).unchecked_expect(""));
                }
            }
        });
    }

    #[bench]
    fn expect_result(bencher: &mut Bencher) {
        let result: Result<_, ()> = Ok("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                unsafe {
                    black_box(black_box(result).unchecked_expect(""));
                }
            }
        });
    }

    #[bench]
    fn unwrap_option(bencher: &mut Bencher) {
        let option = Some("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                unsafe {
                    black_box(black_box(option).unchecked_unwrap());
                }
            }
        });
    }

    #[bench]
    fn unwrap_result(bencher: &mut Bencher) {
        let result: Result<_, ()> = Ok("test");

        bencher.iter(|| {
            for _ in 0..1000 {
                unsafe {
                    black_box(black_box(result).unchecked_unwrap());
                }
            }
        });
    }
}