// check-pass use std::borrow::Borrow; trait TNode: Sized { type ConcreteElement: TElement; } trait TElement: Sized { type ConcreteNode: TNode; } trait DomTraversal { type BorrowElement: Borrow; } #[allow(dead_code)] fn recalc_style_at() where E: TElement, D: DomTraversal, { } fn main() {}