error: expected one of `@` or `|`, found `:` --> $DIR/type-ascription-in-pattern.rs:3:10 | LL | x: i32 => x, | ^ --- specifying the type of a pattern isn't supported | | | expected one of `@` or `|` | help: maybe write a path separator here | LL | x::i32 => x, | ~~ error: expected one of `...`, `..=`, `..`, or `|`, found `:` --> $DIR/type-ascription-in-pattern.rs:12:11 | LL | 42: i32 => (), | ^ --- specifying the type of a pattern isn't supported | | | expected one of `...`, `..=`, `..`, or `|` error: expected `|`, found `:` --> $DIR/type-ascription-in-pattern.rs:13:10 | LL | _: f64 => (), | ^ --- specifying the type of a pattern isn't supported | | | expected `|` error: expected one of `@` or `|`, found `:` --> $DIR/type-ascription-in-pattern.rs:14:10 | LL | x: i32 => (), | ^ --- specifying the type of a pattern isn't supported | | | expected one of `@` or `|` | help: maybe write a path separator here | LL | x::i32 => (), | ~~ error[E0308]: mismatched types --> $DIR/type-ascription-in-pattern.rs:3:19 | LL | fn foo(x: bool) -> i32 { | --- expected `i32` because of return type LL | match x { LL | x: i32 => x, | ^ expected `i32`, found `bool` error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0308`.