// compile-flags: --document-private-items --document-hidden-items // This is a regression test for #98009. // @has "$.index[*][?(@.name=='this_compiles')]" // @has "$.index[*][?(@.name=='this_does_not')]" // @has "$.index[*][?(@.name=='Events')]" // @has "$.index[*][?(@.name=='Other')]" // @has "$.index[*][?(@.name=='Trait')]" struct Events<R>(R); struct Other; pub trait Trait<T> { fn handle(value: T) -> Self; } impl<T, U> Trait<U> for T where T: From<U> { fn handle(_: U) -> Self { unimplemented!() } } impl<'a, R> Trait<&'a mut Events<R>> for Other { fn handle(_: &'a mut Events<R>) -> Self { unimplemented!() } } fn this_compiles<'a, R>(value: &'a mut Events<R>) { for _ in 0..3 { Other::handle(&mut *value); } } fn this_does_not<'a, R>(value: &'a mut Events<R>) { for _ in 0..3 { Other::handle(value); } }