2018-12-16 22:21:47 -05:00
|
|
|
enum Opts {
|
2020-03-04 03:58:52 +01:00
|
|
|
A(isize),
|
|
|
|
B(isize),
|
|
|
|
C(isize),
|
2012-08-06 07:20:23 -07:00
|
|
|
}
|
|
|
|
|
2018-12-16 22:21:47 -05:00
|
|
|
fn matcher1(x: Opts) {
|
2012-08-06 16:16:08 -07:00
|
|
|
match x {
|
2020-03-04 03:58:52 +01:00
|
|
|
Opts::A(ref i) | Opts::B(i) => {}
|
|
|
|
//~^ ERROR variable `i` is bound inconsistently
|
|
|
|
//~^^ ERROR mismatched types
|
|
|
|
Opts::C(_) => {}
|
2012-08-06 07:20:23 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-12-16 22:21:47 -05:00
|
|
|
fn matcher2(x: Opts) {
|
2012-08-06 16:16:08 -07:00
|
|
|
match x {
|
2020-03-04 03:58:52 +01:00
|
|
|
Opts::A(ref i) | Opts::B(i) => {}
|
|
|
|
//~^ ERROR variable `i` is bound inconsistently
|
|
|
|
//~^^ ERROR mismatched types
|
|
|
|
Opts::C(_) => {}
|
2012-08-06 07:20:23 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-12-16 22:21:47 -05:00
|
|
|
fn matcher4(x: Opts) {
|
2012-08-06 16:16:08 -07:00
|
|
|
match x {
|
2020-03-04 03:58:52 +01:00
|
|
|
Opts::A(ref mut i) | Opts::B(ref i) => {}
|
|
|
|
//~^ ERROR variable `i` is bound inconsistently
|
|
|
|
//~^^ ERROR mismatched types
|
|
|
|
Opts::C(_) => {}
|
2012-08-06 07:20:23 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-12-16 22:21:47 -05:00
|
|
|
fn matcher5(x: Opts) {
|
2012-08-06 16:16:08 -07:00
|
|
|
match x {
|
2020-03-04 03:58:52 +01:00
|
|
|
Opts::A(ref i) | Opts::B(ref i) => {}
|
|
|
|
Opts::C(_) => {}
|
2012-08-06 07:20:23 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-08-06 16:16:08 -07:00
|
|
|
fn main() {}
|