about summary refs log tree commit diff
path: root/src/test/compile-fail/borrowck-pat-reassign-sometimes-binding.rs
blob: db8129d005ace9bba19b3dfebfdeb673aa047543 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// xfail-pretty -- comments are infaithfully preserved

fn main() {
    let mut x = none;
    alt x { //! NOTE loan of mutable local variable granted here
      none {
        // It is ok to reassign x here, because there is in
        // fact no outstanding loan of x!
        x = some(0);
      }
      some(i) {
        x = some(1); //! ERROR assigning to mutable local variable prohibited due to outstanding loan
      }
    }
    copy x; // just to prevent liveness warnings
}