fork(1) download
  1. fn main() {
  2. let mut vec = vec![1, 2, 3];
  3.  
  4. println!("{:p} {:p}({})", vec.as_ptr(), &vec[0], vec[0]);
  5.  
  6. let ptr = &vec[0];
  7.  
  8. println!("{:p} {:p}({}) {:p}({})", vec.as_ptr(), &vec[0], vec[0], ptr, ptr);
  9.  
  10. vec.push(4);
  11.  
  12. println!("{:p} {:p}({}) {:p}({})", vec.as_ptr(), &vec[0], vec[0], ptr, ptr);
  13. }
Compilation error #stdin compilation error #stdout 0s 11016KB
stdin
Standard input is empty
compilation info
prog.rs:10:5: 10:8 error: cannot borrow `vec` as mutable because it is also borrowed as immutable
prog.rs:10     vec.push(4);
               ^~~
prog.rs:6:16: 6:19 note: previous borrow of `vec` occurs here; the immutable borrow prevents subsequent moves or mutable borrows of `vec` until the borrow ends
prog.rs:6     let ptr = &vec[0];
                         ^~~
prog.rs:13:2: 13:2 note: previous borrow ends here
prog.rs:1 fn main() {
...
prog.rs:13 }
           ^
error: aborting due to previous error
stdout
Standard output is empty