mirror of
https://git.proxmox.com/git/rustc
synced 2025-06-01 12:04:03 +00:00
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));
|
|
}
|