1 2 3 4 5 6 7 8 9
pub trait Source: Clone + std::fmt::Debug { type Error: std::fmt::Debug + Clone + Eq + PartialEq; } #[derive(Debug, Clone, Eq, PartialEq)] pub struct Pure(); impl Source for Pure { type Error = (); }