summaryrefslogtreecommitdiffstats
path: root/tests/ui/borrowck/borrowck-uninit-field-access.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/borrowck/borrowck-uninit-field-access.stderr')
-rw-r--r--tests/ui/borrowck/borrowck-uninit-field-access.stderr37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/ui/borrowck/borrowck-uninit-field-access.stderr b/tests/ui/borrowck/borrowck-uninit-field-access.stderr
new file mode 100644
index 000000000..f0f4ad704
--- /dev/null
+++ b/tests/ui/borrowck/borrowck-uninit-field-access.stderr
@@ -0,0 +1,37 @@
+error[E0381]: used binding `a` isn't initialized
+ --> $DIR/borrowck-uninit-field-access.rs:21:13
+ |
+LL | let mut a: Point;
+ | ----- binding declared here but left uninitialized
+LL | let _ = a.x + 1;
+ | ^^^ `a.x` used here but it isn't initialized
+ |
+help: consider assigning a value
+ |
+LL | let mut a: Point = Default::default();
+ | ++++++++++++++++++++
+
+error[E0382]: use of moved value: `line1.origin`
+ --> $DIR/borrowck-uninit-field-access.rs:25:13
+ |
+LL | let _moved = line1.origin;
+ | ------------ value moved here
+LL | let _ = line1.origin.x + 1;
+ | ^^^^^^^^^^^^^^ value used here after move
+ |
+ = note: move occurs because `line1.origin` has type `Point`, which does not implement the `Copy` trait
+
+error[E0382]: use of partially moved value: `line2`
+ --> $DIR/borrowck-uninit-field-access.rs:29:5
+ |
+LL | let _moved = (line2.origin, line2.middle);
+ | ------------ value partially moved here
+LL | line2.consume();
+ | ^^^^^ value used here after partial move
+ |
+ = note: partial move occurs because `line2.middle` has type `Point`, which does not implement the `Copy` trait
+
+error: aborting due to 3 previous errors
+
+Some errors have detailed explanations: E0381, E0382.
+For more information about an error, try `rustc --explain E0381`.