2018-10-18 14:48:48 -05:00
|
|
|
// Regression test for #55183: check a case where the self type from
|
|
|
|
// the inherent impl requires normalization to be equal to the
|
|
|
|
// user-provided type.
|
|
|
|
//
|
2019-09-01 16:30:19 -05:00
|
|
|
// check-pass
|
2018-10-18 14:48:48 -05:00
|
|
|
|
|
|
|
trait Mirror {
|
|
|
|
type Me;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T> Mirror for T {
|
|
|
|
type Me = T;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Foo<A, B>(A, B);
|
|
|
|
|
|
|
|
impl<A> Foo<A, <A as Mirror>::Me> {
|
2019-09-01 16:30:19 -05:00
|
|
|
fn m(_: A) { }
|
2018-10-18 14:48:48 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
<Foo<&'static u32, &u32>>::m(&22);
|
|
|
|
}
|