#![allow(dead_code)]
pub trait Imply<T: ?Sized>: imply_inner::ImplyInner<T, Is = T> {}
impl<T: ?Sized, U: ?Sized> Imply<T> for U {}
mod imply_inner {
pub trait ImplyInner<T: ?Sized> {
type Is: ?Sized;
}
impl<T: ?Sized, U: ?Sized> ImplyInner<T> for U {
type Is = T;
}
}