// Some unusual code minimized from
// https://github.com/sile/handy_async/tree/7b619b762c06544fc67792c8ff8ebc24a88fdb98
pub trait Pattern {
type Value;
}
pub struct Constrain(A, B, C);
impl Pattern for Constrain
where A: Pattern,
B: Pattern,
C: Pattern,
{
type Value = A::Value;
}
pub struct Wrapper(T);
impl Pattern for Wrapper {
type Value = T;
}
// @has self_referential/struct.WriteAndThen.html
// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
// "impl Send for WriteAndThenwhere ::Value: Send"
pub struct WriteAndThen(pub P1::Value,pub > as Pattern>::Value)
where P1: Pattern;