Recursive From for reference on tuple Single< T >( T )?

Oh, sorry -- I don't have a solution to your OP, and the rest of my comment was just sort of a drive-by comment. Here's what I percieved your general version to be:

impl<T, E> From<&T> for Single<E>
where
    T: Clone + Into<Self>,
{
    fn from(src: &T) -> Self {
        src.clone().into()
    }
}

You can comment out the From<i32> version in place of the From<E> version to see it works with concrete From implementations but not the generic one (as the generic one includes all references too). I don't think there's a way around this.

In your latest playground:

impl<T> From<&T> for Single<T>
// ...

By definition this can only remove a single reference layer; you're going from &T to T (along with the latter being inside a Single).