error[E0308]: mismatched types --> $DIR/issue-12552.rs:6:5 | LL | match t { | - this match expression has type `std::result::Result<_, {integer}>` LL | Some(k) => match k { | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` | = note: expected type `std::result::Result<_, {integer}>` found type `std::option::Option<_>` error[E0308]: mismatched types --> $DIR/issue-12552.rs:9:5 | LL | None => () | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` | = note: expected type `std::result::Result<_, {integer}>` found type `std::option::Option<_>` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.