about summary refs log tree commit diff
path: root/tests/ui/chalkify/closure.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/chalkify/closure.rs')
-rw-r--r--tests/ui/chalkify/closure.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/ui/chalkify/closure.rs b/tests/ui/chalkify/closure.rs
new file mode 100644
index 00000000000..a908a1e97ec
--- /dev/null
+++ b/tests/ui/chalkify/closure.rs
@@ -0,0 +1,38 @@
+// compile-flags: -Z trait-solver=chalk
+
+fn main() -> () {
+    let t = || {};
+    t();
+
+    let mut a = 0;
+    let mut b = move || {
+        a = 1;
+    };
+    b();
+
+    let mut c = b;
+
+    c();
+    b();
+
+    let mut a = 0;
+    let mut b = || {
+        a = 1;
+    };
+    b();
+
+    let mut c = b;
+
+    c();
+    b(); //~ ERROR
+
+    // FIXME(chalk): this doesn't quite work
+    /*
+    let b = |c| {
+        c
+    };
+
+    let a = &32;
+    b(a);
+    */
+}