error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:13:13 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type `::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type `::A` to `usize` | LL | fn foo<'a, T: Trait + 'a>(&self, _: impl Trait, x: impl Trait, _: T) { | +++++++++++ error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:17:13 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type `::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type `::A` to `usize` | LL | fn ban(x: T) where T: Trait { | +++++++++++ error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:22:9 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type `::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type `::A` to `usize` | LL | fn foo<'a, T: Trait + 'a>(_: impl Trait, x: impl Trait, _: T) { | +++++++++++ error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:26:9 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type `::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type `::A` to `usize` | LL | fn bar>(x: T) { | +++++++++++ error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:30:9 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type ` as Trait>::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type ` as Trait>::A` to `usize` | LL | fn foo2(x: impl Trait) { | +++++++++++ error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:34:9 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type `>::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type `>::A` to `usize` | LL | fn bar2>(x: T) { | +++++++++++ error[E0308]: mismatched types --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:38:9 | LL | qux(x.func()) | --- ^^^^^^^^ expected `usize`, found associated type | | | arguments to this function are incorrect | = note: expected type `usize` found associated type `::A` note: function defined here --> $DIR/trait-with-missing-associated-type-restriction-fixable.rs:41:4 | LL | fn qux(_: usize) {} | ^^^ -------- help: consider constraining the associated type `::A` to `usize` | LL | fn ban(x: T) where T: Trait { | +++++++++++ error: aborting due to 7 previous errors For more information about this error, try `rustc --explain E0308`.