Rustc bug?: generic T is also Box<dyn T>

Consider the following code:

let boxed: Box<dyn ATrait> = Box::new(SomethingThatImplementsATrait);
let boxed2: Box<dyn ATrait> = boxed.from();

In the second line the compiler needs to find an implementation for <Box<dyn ATrait> as From<Box<dyn ATrait>>>::from, it can either take the fully generic one from core, or, because Box<dyn ATrait>: ATrait, the one you have written.