rust/tests/ui/resolve/resolve-inconsistent-binding-mode.rs
2023-01-11 09:32:08 +00:00

42 lines
813 B
Rust

enum Opts {
A(isize),
B(isize),
C(isize),
}
fn matcher1(x: Opts) {
match x {
Opts::A(ref i) | Opts::B(i) => {}
//~^ ERROR variable `i` is bound inconsistently
//~^^ ERROR mismatched types
Opts::C(_) => {}
}
}
fn matcher2(x: Opts) {
match x {
Opts::A(ref i) | Opts::B(i) => {}
//~^ ERROR variable `i` is bound inconsistently
//~^^ ERROR mismatched types
Opts::C(_) => {}
}
}
fn matcher4(x: Opts) {
match x {
Opts::A(ref mut i) | Opts::B(ref i) => {}
//~^ ERROR variable `i` is bound inconsistently
//~^^ ERROR mismatched types
Opts::C(_) => {}
}
}
fn matcher5(x: Opts) {
match x {
Opts::A(ref i) | Opts::B(ref i) => {}
Opts::C(_) => {}
}
}
fn main() {}