about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2022-10-09 16:15:16 +0000
committerCamille GILLOT <gillot.camille@gmail.com>2022-10-09 16:18:16 +0000
commite828ce53b9c9fdcf40d78aed75caf866309a621e (patch)
treec805b467b2e73950cf23e2ada98bca498a0a48c7 /src/test/ui
parent8796e7a9cfd4c5c4f1de15ec1c53994ddf288665 (diff)
downloadrust-e828ce53b9c9fdcf40d78aed75caf866309a621e.tar.gz
rust-e828ce53b9c9fdcf40d78aed75caf866309a621e.zip
Skip chained OpaqueCast when building captures.
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/closures/issue-102089-multiple-opaque-cast.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/ui/closures/issue-102089-multiple-opaque-cast.rs b/src/test/ui/closures/issue-102089-multiple-opaque-cast.rs
new file mode 100644
index 00000000000..043bf06a1f5
--- /dev/null
+++ b/src/test/ui/closures/issue-102089-multiple-opaque-cast.rs
@@ -0,0 +1,17 @@
+// edition:2021
+// check-pass
+
+pub struct Example<'a, T> {
+  a: T,
+  b: &'a T,
+}
+
+impl<'a, T> Example<'a, T> {
+  pub fn error_trying_to_destructure_self_in_closure(self) {
+    let closure = || {
+      let Self { a, b } = self;
+    };
+  }
+}
+
+fn main() {}