supply 0.3.1

Provider API for arbitrary number of lifetimes.
Documentation
use supply::prelude::*;
use supply::provide::ProvideTag;
use supply::want::WantOne;
use supply::Request;
use ty_tag::lifetime_list::LifetimeList;

#[test]
fn exibit_1() {
    assert_eq!(
        ProvideTag::<l![], i32>::from_ref(&123)
            .request::<&i32>()
            .unwrap(),
        &123
    );
}

struct MyReq;

impl<L: LifetimeList> Request<L> for MyReq {
    type Want = WantOne<L, ()>;

    type Output = ();

    fn into_output(want: Self::Want) -> Self::Output {
        want.into_inner().unwrap()
    }
}