i have a situation along the line of impl Trait1 for A{ fn myfunc(&mut self){ ................. ::fn(self) //if and only if A:Trait2 ................. } } i think i can probably find a workaround to do that but i was wondering if anyone knows of a clean maintainable solution for something like this ideally without runtime costs