summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-access-permissions.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/borrowck-access-permissions.stderr')
-rw-r--r--src/test/ui/borrowck/borrowck-access-permissions.stderr53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-access-permissions.stderr b/src/test/ui/borrowck/borrowck-access-permissions.stderr
new file mode 100644
index 000000000..e3a35c38a
--- /dev/null
+++ b/src/test/ui/borrowck/borrowck-access-permissions.stderr
@@ -0,0 +1,53 @@
+error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable
+ --> $DIR/borrowck-access-permissions.rs:9:19
+ |
+LL | let x = 1;
+ | - help: consider changing this to be mutable: `mut x`
+...
+LL | let _y1 = &mut x;
+ | ^^^^^^ cannot borrow as mutable
+
+error[E0596]: cannot borrow immutable static item `static_x` as mutable
+ --> $DIR/borrowck-access-permissions.rs:14:19
+ |
+LL | let _y1 = &mut static_x;
+ | ^^^^^^^^^^^^^ cannot borrow as mutable
+
+error[E0596]: cannot borrow `*box_x` as mutable, as `box_x` is not declared as mutable
+ --> $DIR/borrowck-access-permissions.rs:22:19
+ |
+LL | let box_x = Box::new(1);
+ | ----- help: consider changing this to be mutable: `mut box_x`
+...
+LL | let _y1 = &mut *box_x;
+ | ^^^^^^^^^^^ cannot borrow as mutable
+
+error[E0596]: cannot borrow `*ref_x` as mutable, as it is behind a `&` reference
+ --> $DIR/borrowck-access-permissions.rs:30:19
+ |
+LL | let ref_x = &x;
+ | -- help: consider changing this to be a mutable reference: `&mut x`
+...
+LL | let _y1 = &mut *ref_x;
+ | ^^^^^^^^^^^ `ref_x` is a `&` reference, so the data it refers to cannot be borrowed as mutable
+
+error[E0596]: cannot borrow `*ptr_x` as mutable, as it is behind a `*const` pointer
+ --> $DIR/borrowck-access-permissions.rs:39:23
+ |
+LL | let ptr_x : *const _ = &x;
+ | -- help: consider changing this to be a mutable pointer: `&mut x`
+...
+LL | let _y1 = &mut *ptr_x;
+ | ^^^^^^^^^^^ `ptr_x` is a `*const` pointer, so the data it refers to cannot be borrowed as mutable
+
+error[E0596]: cannot borrow `*foo_ref.f` as mutable, as it is behind a `&` reference
+ --> $DIR/borrowck-access-permissions.rs:48:18
+ |
+LL | let foo_ref = &foo;
+ | ---- help: consider changing this to be a mutable reference: `&mut foo`
+LL | let _y = &mut *foo_ref.f;
+ | ^^^^^^^^^^^^^^^ `foo_ref` is a `&` reference, so the data it refers to cannot be borrowed as mutable
+
+error: aborting due to 6 previous errors
+
+For more information about this error, try `rustc --explain E0596`.