>>94 って多分こういう事では?

trait X { ... }
impl a for X { ... }
impl b for X { ... }

fn foo<T: X>() -> T { ... }
fn bar<T: X>(_: T) { ... }

bar(foo())

Rust の文法詳しくないんで間違ってたらすまん