summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-bad-nested-calls-free.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/borrowck-bad-nested-calls-free.rs')
-rw-r--r--src/test/ui/borrowck/borrowck-bad-nested-calls-free.rs35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/test/ui/borrowck/borrowck-bad-nested-calls-free.rs b/src/test/ui/borrowck/borrowck-bad-nested-calls-free.rs
deleted file mode 100644
index b0bb9a035..000000000
--- a/src/test/ui/borrowck/borrowck-bad-nested-calls-free.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// Test that we detect nested calls that could free pointers evaluated
-// for earlier arguments.
-
-
-
-fn rewrite(v: &mut Box<usize>) -> usize {
- *v = Box::new(22);
- **v
-}
-
-fn add(v: &usize, w: usize) -> usize {
- *v + w
-}
-
-fn implicit() {
- let mut a: Box<_> = Box::new(1);
-
- // Note the danger here:
- //
- // the pointer for the first argument has already been
- // evaluated, but it gets freed when evaluating the second
- // argument!
- add(
- &*a,
- rewrite(&mut a)); //~ ERROR cannot borrow
-}
-
-fn explicit() {
- let mut a: Box<_> = Box::new(1);
- add(
- &*a,
- rewrite(&mut a)); //~ ERROR cannot borrow
-}
-
-fn main() {}