error[E0271]: expected `fn() -> impl Sized {hi}` to be a fn item that returns `Box`, but it returns `impl Sized` --> $DIR/issue-98608.rs:6:39 | LL | fn hi() -> impl Sized { | ---------- the found opaque type ... LL | let b: Box Box> = Box::new(hi); | ^^^^^^^^^^^^ expected struct `Box`, found opaque type | = note: expected struct `Box` found opaque type `impl Sized` = note: required for the cast from `fn() -> impl Sized {hi}` to the object type `dyn Fn() -> Box` error: aborting due to previous error For more information about this error, try `rustc --explain E0271`.