An incorrect number of generic arguments was provided. Erroneous code example: ```compile_fail,E0107 struct Foo { x: T } struct Bar { x: Foo } // error: wrong number of type arguments: // expected 1, found 0 struct Baz { x: Foo } // error: wrong number of type arguments: // expected 1, found 2 fn foo(x: T, y: U) {} fn f() {} fn main() { let x: bool = true; foo::(x); // error: wrong number of type arguments: // expected 2, found 1 foo::(x, 2, 4); // error: wrong number of type arguments: // expected 2, found 3 f::<'static>(); // error: wrong number of lifetime arguments // expected 0, found 1 } ``` When using/declaring an item with generic arguments, you must provide the exact same number: ``` struct Foo { x: T } struct Bar { x: Foo } // ok! struct Baz { x: Foo, y: Foo } // ok! fn foo(x: T, y: U) {} fn f() {} fn main() { let x: bool = true; foo::(x, 12); // ok! f(); // ok! } ```