1 error[E0308]: mismatched types
2 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:13:13
5 | --- ^^^^^^^^ expected `usize`, found associated type
7 | arguments to this function are incorrect
9 = note: expected type `usize`
10 found associated type `<impl Trait as Trait>::A`
11 note: function defined here
12 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
14 LL | fn qux(_: usize) {}
16 help: consider constraining the associated type `<impl Trait as Trait>::A` to `usize`
18 LL | fn foo<'a, T: Trait + 'a>(&self, _: impl Trait, x: impl Trait<A = usize>, _: T) {
21 error[E0308]: mismatched types
22 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:17:13
25 | --- ^^^^^^^^ expected `usize`, found associated type
27 | arguments to this function are incorrect
29 = note: expected type `usize`
30 found associated type `<T as Trait>::A`
31 note: function defined here
32 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
34 LL | fn qux(_: usize) {}
36 help: consider constraining the associated type `<T as Trait>::A` to `usize`
38 LL | fn ban<T>(x: T) where T: Trait<A = usize> {
41 error[E0308]: mismatched types
42 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:22:9
45 | --- ^^^^^^^^ expected `usize`, found associated type
47 | arguments to this function are incorrect
49 = note: expected type `usize`
50 found associated type `<impl Trait as Trait>::A`
51 note: function defined here
52 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
54 LL | fn qux(_: usize) {}
56 help: consider constraining the associated type `<impl Trait as Trait>::A` to `usize`
58 LL | fn foo<'a, T: Trait + 'a>(_: impl Trait, x: impl Trait<A = usize>, _: T) {
61 error[E0308]: mismatched types
62 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:26:9
65 | --- ^^^^^^^^ expected `usize`, found associated type
67 | arguments to this function are incorrect
69 = note: expected type `usize`
70 found associated type `<T as Trait>::A`
71 note: function defined here
72 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
74 LL | fn qux(_: usize) {}
76 help: consider constraining the associated type `<T as Trait>::A` to `usize`
78 LL | fn bar<T: Trait<A = usize>>(x: T) {
81 error[E0308]: mismatched types
82 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:30:9
85 | --- ^^^^^^^^ expected `usize`, found associated type
87 | arguments to this function are incorrect
89 = note: expected type `usize`
90 found associated type `<impl Trait<i32> as Trait<i32>>::A`
91 note: function defined here
92 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
94 LL | fn qux(_: usize) {}
96 help: consider constraining the associated type `<impl Trait<i32> as Trait<i32>>::A` to `usize`
98 LL | fn foo2(x: impl Trait<i32, A = usize>) {
101 error[E0308]: mismatched types
102 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:34:9
105 | --- ^^^^^^^^ expected `usize`, found associated type
107 | arguments to this function are incorrect
109 = note: expected type `usize`
110 found associated type `<T as Trait<i32>>::A`
111 note: function defined here
112 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
114 LL | fn qux(_: usize) {}
116 help: consider constraining the associated type `<T as Trait<i32>>::A` to `usize`
118 LL | fn bar2<T: Trait<i32, A = usize>>(x: T) {
121 error[E0308]: mismatched types
122 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:38:9
125 | --- ^^^^^^^^ expected `usize`, found associated type
127 | arguments to this function are incorrect
129 = note: expected type `usize`
130 found associated type `<T as Trait>::A`
131 note: function defined here
132 --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4
134 LL | fn qux(_: usize) {}
136 help: consider constraining the associated type `<T as Trait>::A` to `usize`
138 LL | fn ban<T>(x: T) where T: Trait<A = usize> {
141 error: aborting due to 7 previous errors
143 For more information about this error, try `rustc --explain E0308`.