diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2022-12-22 20:29:20 +0900 |
|---|---|---|
| committer | Yuki Okushi <jtitor@2k36.org> | 2022-12-22 20:29:20 +0900 |
| commit | 34ae96868fcbdb2d2fa4a0b269fab94279c13e6b (patch) | |
| tree | 6906665d75fab7b6075838018c2aac946570be2b | |
| parent | 75f4ee8b4427278d7a35b7025ea72e02c55ae8f1 (diff) | |
| download | rust-34ae96868fcbdb2d2fa4a0b269fab94279c13e6b.tar.gz rust-34ae96868fcbdb2d2fa4a0b269fab94279c13e6b.zip | |
Add regression test for #94293
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
| -rw-r--r-- | src/test/ui/const-generics/generic_const_exprs/issue-94293.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/generic_const_exprs/issue-94293.rs b/src/test/ui/const-generics/generic_const_exprs/issue-94293.rs new file mode 100644 index 00000000000..713c5d89a93 --- /dev/null +++ b/src/test/ui/const-generics/generic_const_exprs/issue-94293.rs @@ -0,0 +1,31 @@ +// check-pass + +#![feature(generic_const_exprs)] +#![allow(incomplete_features)] +#![deny(const_evaluatable_unchecked)] + +pub struct If<const CONDITION: bool>; +pub trait True {} +impl True for If<true> {} + +pub struct FixedI8<const FRAC: u32> { + pub bits: i8, +} + +impl<const FRAC_LHS: u32, const FRAC_RHS: u32> PartialEq<FixedI8<FRAC_RHS>> for FixedI8<FRAC_LHS> +where + If<{ FRAC_RHS <= 8 }>: True, +{ + fn eq(&self, _rhs: &FixedI8<FRAC_RHS>) -> bool { + unimplemented!() + } +} + +impl<const FRAC: u32> PartialEq<i8> for FixedI8<FRAC> { + fn eq(&self, rhs: &i8) -> bool { + let rhs_as_fixed = FixedI8::<0> { bits: *rhs }; + PartialEq::eq(self, &rhs_as_fixed) + } +} + +fn main() {} |
