class Test { public function new() {} } class Main { public static function main() { new Generic(); } } @:generic class Generic { var t:T; public function new() { t = new T(); } }