Sorry to bump this up. Currently facing a similar issue and wondering if something has changed in the ~2 years since this question was asked? Is using PhantomData
still the recommended approach?
Also, what is design/implementation considerations making the following not possible?
// Having a construct "Slice" which can be used as a bound
trait MyTraitOverSlices<T> where Self: Slice<T> { .... }