Example:
This: fn f(a: &impl Trait)
Now desugared as: fn f<T:Trait>(a: &T)
But it should be: fn f<T:Trait + ?Sized>(a: &T)
Same for &mut T.
Compatibility: Since T declaration is implicit and can't be used inside fn this change doesn't break anything.
Motivation: This change allows passing &dyn and &mut dyn directly to such methods. T becomes dyn Trait, &T becomes &dyn Trait - though T has dynamic size the parameter &T is a fixed size type so everything is fine.