I believe that the following code makes sense:
trait FooConst<const N: usize> {}
trait Foo {}
impl<T: FooConst<N>, const N: usize> Foo for T {}
However when I try to compile it I get error E0207 stating that the parameter N is unbounded. I don't understand why, since it seems to me that it's part of the bound on T.