I need a function that works like the following: > T* New(T)() { return new T; } But that also works with static arrays: > auto i = New!(int)(); > auto a = New!(int[27])(); The cleanest solution I can think of is: > T* New(T)() { return (new T[1]).ptr; } but that seems ugly. Any ideas? -- ... <IXOYE><