// A slight variation of issue-84973.rs. Here, a mutable borrow is // required (and the obligation kind is different). trait Tr {} impl Tr for &mut i32 {} fn foo(i: T) {} fn main() { let a: i32 = 32; foo(a); //~^ ERROR: the trait bound `i32: Tr` is not satisfied [E0277] }