]> git.lizzy.rs Git - rust.git/blob - src/test/ui/issues/issue-55846.rs
Merge commit '6ed6f1e6a1a8f414ba7e6d9b8222e7e5a1686e42' into clippyup
[rust.git] / src / test / ui / issues / issue-55846.rs
1 // run-pass
2
3 // Regression test for #55846, which once caused an ICE.
4
5 use std::marker::PhantomData;
6
7 struct Foo;
8
9 struct Bar<A> {
10     a: PhantomData<A>,
11 }
12
13 impl Fooifier for Foo {
14     type Assoc = Foo;
15 }
16
17 trait Fooifier {
18     type Assoc;
19 }
20
21 trait Barifier<H> {
22     fn barify();
23 }
24
25 impl<H> Barifier<H> for Bar<H> {
26     fn barify() {
27         println!("All correct!");
28     }
29 }
30
31 impl Bar<<Foo as Fooifier>::Assoc> {
32     fn this_shouldnt_crash() {
33         <Self as Barifier<<Foo as Fooifier>::Assoc>>::barify();
34     }
35 }
36
37 fn main() {
38     Bar::<Foo>::this_shouldnt_crash();
39 }