// Tests that we are able to distinguish when loans borrow different
// anonymous fields of a tuple vs the same anonymous field.

struct Y(usize, usize);

fn distinct_variant() {
    let mut y = Y(1, 2);

    let a = match y {
        Y(ref mut a, _) => a
    };

    let b = match y {
        Y(_, ref mut b) => b
    };

    *a += 1;
    *b += 1;
}

fn same_variant() {
    let mut y = Y(1, 2);

    let a = match y {
        Y(ref mut a, _) => a
    };

    let b = match y {
        Y(ref mut b, _) => b //~ ERROR cannot borrow
    };

    *a += 1;
    *b += 1;
}

fn main() {
}
