use std::marker; struct Heap; struct Vec( marker::PhantomData<(T,A)>); impl Vec { fn new() -> Vec {Vec(marker::PhantomData)} } fn main() { Vec::::new(); //~^ ERROR this struct takes at most 2 generic arguments but 3 generic arguments were supplied }