diff options
Diffstat (limited to 'tests/ui/const-generics/issues/issue-105037.rs')
-rw-r--r-- | tests/ui/const-generics/issues/issue-105037.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/const-generics/issues/issue-105037.rs b/tests/ui/const-generics/issues/issue-105037.rs new file mode 100644 index 000000000..f7d239499 --- /dev/null +++ b/tests/ui/const-generics/issues/issue-105037.rs @@ -0,0 +1,35 @@ +// run-pass +#![feature(generic_const_exprs)] +#![allow(incomplete_features)] +#![allow(dead_code)] + +trait Table<const D: usize>: Sync { + const COLUMNS: usize; +} + +struct Table1<const D: usize>; +impl<const D: usize> Table<D> for Table1<D> { + const COLUMNS: usize = 123; +} + +struct Table2<const D: usize>; +impl<const D: usize> Table<D> for Table2<D> { + const COLUMNS: usize = 456; +} + +fn process_table<T: Table<D>, const D: usize>(_table: T) +where + [(); T::COLUMNS]:, +{ +} + +fn process_all_tables<const D: usize>() +where + [(); Table2::<D>::COLUMNS]:, + [(); Table1::<D>::COLUMNS]:, +{ + process_table(Table1::<D>); + process_table(Table2::<D>); +} + +fn main() {} |