#![feature(generic_const_exprs)] #![allow(incomplete_features)] pub trait Enumerable { const N: usize; } #[derive(Clone)] pub struct SymmetricGroup where S: Enumerable, [(); S::N]: Sized, { _phantom: std::marker::PhantomData, } fn main() {}