summaryrefslogtreecommitdiffstats
path: root/src/test/ui/no-capture-arc.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/no-capture-arc.stderr')
-rw-r--r--src/test/ui/no-capture-arc.stderr24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/no-capture-arc.stderr b/src/test/ui/no-capture-arc.stderr
new file mode 100644
index 000000000..9ae41e78c
--- /dev/null
+++ b/src/test/ui/no-capture-arc.stderr
@@ -0,0 +1,24 @@
+error[E0382]: borrow of moved value: `arc_v`
+ --> $DIR/no-capture-arc.rs:14:16
+ |
+LL | let arc_v = Arc::new(v);
+ | ----- move occurs because `arc_v` has type `Arc<Vec<i32>>`, which does not implement the `Copy` trait
+LL |
+LL | thread::spawn(move|| {
+ | ------ value moved into closure here
+LL | assert_eq!((*arc_v)[3], 4);
+ | ----- variable moved due to use in closure
+...
+LL | assert_eq!((*arc_v)[2], 3);
+ | ^^^^^^^^ value borrowed here after move
+ |
+ = note: borrow occurs due to deref coercion to `Vec<i32>`
+note: deref defined here
+ --> $SRC_DIR/alloc/src/sync.rs:LL:COL
+ |
+LL | type Target = T;
+ | ^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0382`.