1
 2
 3
 4
 5
 6
 7
 8
 9
10
//!

/// A `Provide` — a strategy to instantiate a value without any prerequisites.
pub trait Provide<'provider, 'data, Output, ProviderIdx>: 'provider
where
    Output: 'data,
{
    /// Yield the provided `Output`.
    fn provide(&'provider self) -> Output;
}