// Test that we have enough false edges to avoid exposing the exact matching
// algorithm in borrow checking.

#![feature(nll)]

fn all_previous_tests_may_be_done(y: &mut (bool, bool)) {
    let r = &mut y.1;
    // We don't actually test y.1 to select the second arm, but we don't want
    // borrowck results to be based on the order we match patterns.
    match y {
        (false, true) => 1, //~ ERROR cannot use `y.1` because it was mutably borrowed
        (true, _) => {
            r;
            2
        }
        (false, _) => 3,
    };
}

fn main() {}
