diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-12-22 19:36:15 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-22 19:36:15 +0100 |
| commit | ee43f34700304e73d4e58fc643186717f1851659 (patch) | |
| tree | 52eca2d2eb18a7db5b86c35b30ba8556f3190770 | |
| parent | 9cd140e7a1be7147cb144df0a40c13507ae68d35 (diff) | |
| parent | 34ae96868fcbdb2d2fa4a0b269fab94279c13e6b (diff) | |
Rollup merge of #106037 - JohnTitor:issue-94293, r=lcnr
Add regression test for #94293 Closes #94293 r? ```@lcnr``` 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() {} |
