pub fn push_outlives_components<I>(
    cx: I,
    ty: <I as Interner>::Ty,
    out: &mut SmallVec<[Component<I>; 4]>,
)where
    I: Interner,Expand description
Push onto out all the things that must outlive 'a for the condition
ty0: 'a to hold. Note that ty0 must be a fully resolved type.