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