1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
/// Combine two values
///
/// This trait is used to represent types that can be chained, including
/// middleware and resource values.
pub trait Chain<U> {
    /// The combined type
    type Output;

    /// Combine `self` with `other`.
    fn chain(self, other: U) -> Self::Output;
}