abstract Ref2(T) { @:from macro static function from(v) { return v; } } class Main2 { static function main() { #if !macro var r : Ref2 = 10; trace(r); #end } }