summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-loan-rcvr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/borrowck-loan-rcvr.rs')
-rw-r--r--src/test/ui/borrowck/borrowck-loan-rcvr.rs40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/test/ui/borrowck/borrowck-loan-rcvr.rs b/src/test/ui/borrowck/borrowck-loan-rcvr.rs
deleted file mode 100644
index d2234e17a..000000000
--- a/src/test/ui/borrowck/borrowck-loan-rcvr.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-struct Point { x: isize, y: isize }
-
-trait Methods {
- fn impurem(&self);
- fn blockm<F>(&self, f: F) where F: FnOnce();
-}
-
-impl Methods for Point {
- fn impurem(&self) {
- }
-
- fn blockm<F>(&self, f: F) where F: FnOnce() { f() }
-}
-
-fn a() {
- let mut p = Point {x: 3, y: 4};
-
- // Here: it's ok to call even though receiver is mutable, because we
- // can loan it out.
- p.impurem();
-
- // But in this case we do not honor the loan:
- p.blockm(|| { //~ ERROR cannot borrow `p` as mutable
- p.x = 10;
- })
-}
-
-fn b() {
- let mut p = Point {x: 3, y: 4};
-
- // Here I create an outstanding loan and check that we get conflicts:
-
- let l = &mut p;
- p.impurem(); //~ ERROR cannot borrow
-
- l.x += 1;
-}
-
-fn main() {
-}