basically i have this problem:
Obviously, the way to solve it is just to write out
Foo for every type. But im still struggling to understand why these restrictions are imposed on me, let the compiler blow when we actually have a conflicting implementation.?!
Secondly, what other solutions do i have ? i can think of creating some sort of "tag" -
trait which i can put on my primitive implementations so that it does not match other trait bounds. But that gets messy quite quickly
Is there a way to specify negative trait bounds ? e.g.
impl<T: !Bar> Foo for T
thanks a lot guys!