I’m confused about a static lifetime getting introduced and a surprising difference between boxed and ref’d trait objects that I’ve yet to find documentation about.
There’s a little bit of noise here so I can remember the connection to the original code, but otherwise this is minimal reproduction.
The surprising thing is that Case 2 does not work. I understand why Case 3 works even though Case 2 does not (because
Box<T> is sugar for
Box<T + 'static>), but I don’t understand why it seems to be the
impl B for A that is adding an implicit
&self + 'static.
Likely forehead slappingly obvious, but feeling rather dense at the moment.