// run-rustfix // Test equality constraints on associated types in a where clause. #![allow(dead_code)] pub trait ToInt { fn to_int(&self) -> isize; } pub trait GetToInt { type R; fn get(&self) -> ::R; } fn foo(g: G) -> isize where G : GetToInt, ::R: ToInt { ToInt::to_int(&g.get()) //~ ERROR E0277 } fn bar(g: G) -> isize where G::R : ToInt { ToInt::to_int(&g.get()) // OK } pub fn main() { }