From 6068478d56a05ab1aa4d9ad87046e1d5d47afd7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Mon, 29 Apr 2019 20:58:29 -0700 Subject: [PATCH] Add if let test --- src/test/ui/suggestions/match-ergonomics.rs | 1 + src/test/ui/suggestions/match-ergonomics.stderr | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/test/ui/suggestions/match-ergonomics.rs b/src/test/ui/suggestions/match-ergonomics.rs index d75f8363cd22..c4fc01469bf6 100644 --- a/src/test/ui/suggestions/match-ergonomics.rs +++ b/src/test/ui/suggestions/match-ergonomics.rs @@ -37,4 +37,5 @@ fn main() { v => {}, _ => {}, } + if let [&v] = &x[..] {} //~ ERROR mismatched types } diff --git a/src/test/ui/suggestions/match-ergonomics.stderr b/src/test/ui/suggestions/match-ergonomics.stderr index a064e2485ffe..9915eeb34fac 100644 --- a/src/test/ui/suggestions/match-ergonomics.stderr +++ b/src/test/ui/suggestions/match-ergonomics.stderr @@ -35,7 +35,19 @@ help: you can rely on match ergonomics and remove the explicit borrow LL | v => {}, | ^ -error: aborting due to 4 previous errors +error[E0308]: mismatched types + --> $DIR/match-ergonomics.rs:40:13 + | +LL | if let [&v] = &x[..] {} + | ^^ + | | + | expected i32, found reference + | help: you can probably remove the explicit borrow: `v` + | + = note: expected type `i32` + found type `&_` + +error: aborting due to 5 previous errors Some errors have detailed explanations: E0308, E0529. For more information about an error, try `rustc --explain E0308`.