1error[E0107]: missing generics for associated type `X::Y`
2  --> $DIR/missing_lifetime_args.rs:13:32
3   |
4LL | fn foo<'c, 'd>(_arg: Box<dyn X<Y = (&'c u32, &'d u32)>>) {}
5   |                                ^ expected 2 lifetime arguments
6   |
7note: associated type defined here, with 2 lifetime parameters: `'a`, `'b`
8  --> $DIR/missing_lifetime_args.rs:4:10
9   |
10LL |     type Y<'a, 'b>;
11   |          ^ --  --
12help: add missing lifetime arguments
13   |
14LL | fn foo<'c, 'd>(_arg: Box<dyn X<Y<'c, 'd> = (&'c u32, &'d u32)>>) {}
15   |                                ~~~~~~~~~
16
17error[E0107]: this struct takes 3 lifetime arguments but 2 lifetime arguments were supplied
18  --> $DIR/missing_lifetime_args.rs:16:26
19   |
20LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b>) {}
21   |                          ^^^ --  -- supplied 2 lifetime arguments
22   |                          |
23   |                          expected 3 lifetime arguments
24   |
25note: struct defined here, with 3 lifetime parameters: `'a`, `'b`, `'c`
26  --> $DIR/missing_lifetime_args.rs:7:8
27   |
28LL | struct Foo<'a, 'b, 'c> {
29   |        ^^^ --  --  --
30help: add missing lifetime argument
31   |
32LL | fn bar<'a, 'b, 'c>(_arg: Foo<'a, 'b, 'a>) {}
33   |                                    ++++
34
35error[E0107]: this struct takes 3 lifetime arguments but 1 lifetime argument was supplied
36  --> $DIR/missing_lifetime_args.rs:19:16
37   |
38LL | fn f<'a>(_arg: Foo<'a>) {}
39   |                ^^^ -- supplied 1 lifetime argument
40   |                |
41   |                expected 3 lifetime arguments
42   |
43note: struct defined here, with 3 lifetime parameters: `'a`, `'b`, `'c`
44  --> $DIR/missing_lifetime_args.rs:7:8
45   |
46LL | struct Foo<'a, 'b, 'c> {
47   |        ^^^ --  --  --
48help: add missing lifetime arguments
49   |
50LL | fn f<'a>(_arg: Foo<'a, 'b, 'c>) {}
51   |                      ++++++++
52
53error: aborting due to 3 previous errors
54
55For more information about this error, try `rustc --explain E0107`.
56