// 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() {}