error[E0308]: mismatched types --> $DIR/boxed-variant-field.rs:9:31 | LL | Ty::List(elem) => foo(elem), | --- ^^^^ expected enum `Ty`, found struct `Box` | | | arguments to this function are incorrect | = note: expected enum `Ty` found struct `Box` note: function defined here --> $DIR/boxed-variant-field.rs:6:4 | LL | fn foo(x: Ty) -> Ty { | ^^^ ----- help: consider unboxing the value | LL | Ty::List(elem) => foo(*elem), | + help: try wrapping the expression in `Ty::List` | LL | Ty::List(elem) => foo(Ty::List(elem)), | +++++++++ + error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.