1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// build-pass #![feature(generic_const_exprs)] #![allow(incomplete_features)] pub trait Enumerable { const N: usize; } #[derive(Clone)] pub struct SymmetricGroup<S> where S: Enumerable, [(); S::N]: Sized, { _phantom: std::marker::PhantomData<S>, } fn main() {}