error[E0746]: return type cannot have an unboxed trait object --> $DIR/issue-18107.rs:4:5 | LL | dyn AbstractRenderer | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time | help: use `impl AbstractRenderer` as the return type if all return paths have the same type but you want to expose only the trait in the signature | LL | impl AbstractRenderer | help: use a boxed trait object if all return paths implement trait `AbstractRenderer` | LL | Box<dyn AbstractRenderer> | ++++ + error: aborting due to previous error For more information about this error, try `rustc --explain E0746`.