use std::marker; struct Foo( marker::PhantomData<(A,B,C)>); impl Foo { fn new() -> Foo {Foo(marker::PhantomData)} } fn main() { Foo::::new(); //~^ ERROR this struct takes at least 2 generic arguments but 1 generic argument }