From b5e1ac721f8aa7ac937db2d7bc1b61c17f306b51 Mon Sep 17 00:00:00 2001
From: Takayuki Maeda <takoyaki0316@gmail.com>
Date: Wed, 3 Aug 2022 18:51:21 +0900
Subject: [PATCH] add regression test for #90871

---
 src/test/ui/closures/issue-90871.rs     |  5 +++++
 src/test/ui/closures/issue-90871.stderr | 23 +++++++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 src/test/ui/closures/issue-90871.rs
 create mode 100644 src/test/ui/closures/issue-90871.stderr

diff --git a/src/test/ui/closures/issue-90871.rs b/src/test/ui/closures/issue-90871.rs
new file mode 100644
index 0000000000000..9c70bbc85acfa
--- /dev/null
+++ b/src/test/ui/closures/issue-90871.rs
@@ -0,0 +1,5 @@
+fn main() {
+    2: n([u8; || 1])
+    //~^ ERROR cannot find type `n` in this scope
+    //~| ERROR mismatched types
+}
diff --git a/src/test/ui/closures/issue-90871.stderr b/src/test/ui/closures/issue-90871.stderr
new file mode 100644
index 0000000000000..1e102cc9805bd
--- /dev/null
+++ b/src/test/ui/closures/issue-90871.stderr
@@ -0,0 +1,23 @@
+error[E0412]: cannot find type `n` in this scope
+  --> $DIR/issue-90871.rs:2:8
+   |
+LL |     2: n([u8; || 1])
+   |        ^ expecting a type here because of type ascription
+
+error[E0308]: mismatched types
+  --> $DIR/issue-90871.rs:2:15
+   |
+LL |     2: n([u8; || 1])
+   |               ^^^^ expected `usize`, found closure
+   |
+   = note: expected type `usize`
+           found closure `[closure@$DIR/issue-90871.rs:2:15: 2:17]`
+help: use parentheses to call this closure
+   |
+LL |     2: n([u8; (|| 1)()])
+   |               +    +++
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0308, E0412.
+For more information about an error, try `rustc --explain E0308`.