181d7b463b
Setting `RUSTC_LOG_COLOR=always` is sometimes useful if tools that one pipes `RUSTC_LOG` into support coloured output, but it makes this test fail. Signed-off-by: David Wood <david@davidtw.co>
31 lines
511 B
Rust
31 lines
511 B
Rust
// run-pass
|
|
// unset-rustc-env:RUSTC_LOG_COLOR
|
|
|
|
// Regression test for https://github.com/rust-lang/rust/issues/73431.
|
|
|
|
pub trait Zero {
|
|
const ZERO: Self;
|
|
}
|
|
|
|
impl Zero for usize {
|
|
const ZERO: Self = 0;
|
|
}
|
|
|
|
impl<T: Zero> Zero for Wrapper<T> {
|
|
const ZERO: Self = Wrapper(T::ZERO);
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq)]
|
|
pub struct Wrapper<T>(T);
|
|
|
|
fn is_zero(x: Wrapper<usize>) -> bool {
|
|
match x {
|
|
Zero::ZERO => true,
|
|
_ => false,
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let _ = is_zero(Wrapper(42));
|
|
}
|