mirror of https://github.com/rust-lang/rust
29 lines
474 B
Rust
29 lines
474 B
Rust
trait Zero {
|
|
const ZERO: Self;
|
|
}
|
|
|
|
impl Zero for String {
|
|
const ZERO: Self = String::new();
|
|
}
|
|
|
|
fn foo() {
|
|
match String::new() {
|
|
Zero::ZERO ..= Zero::ZERO => {},
|
|
//~^ ERROR only `char` and numeric types are allowed in range patterns
|
|
_ => {},
|
|
}
|
|
}
|
|
|
|
fn bar() {
|
|
match Zero::ZERO {
|
|
Zero::ZERO ..= Zero::ZERO => {},
|
|
//~^ ERROR type annotations needed [E0282]
|
|
_ => {},
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
foo();
|
|
bar();
|
|
}
|