I have two traits. The second trait (Meow) has a function(callB) that has the first trait(MyMarker) as argument. and asecond function(call) that only takes self. The calles to callB work fine. But all calls to call do not work.

rust wants to infer the type of M and failes. even through M it is not used in this function.
how do i provide provide the type for the call to call?

It is because Meow is generic (i.e. it has a type variable), and thus each impl for it is as well.
When calling call(), Rust needs to know which of the impls to use, so that’s why you need to specify the type parameter.