error[E0308]: mismatched types --> $DIR/pattern-tyvar.rs:5:18 | LL | match t { | - this match expression has type `std::option::Option>` LL | Bar::T1(_, Some::(x)) => { | ^^^^^^^^^^^^^^^^ expected struct `std::vec::Vec`, found `isize` | = note: expected enum `std::option::Option>` found enum `std::option::Option` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.