Haxe @:generic会导致编译器错误?

问题描述 投票:0回答:1

下面,我有一个非常精简的程序,它具有一个通用类,然后为其创建一个实例。在编写代码时,出现编译时错误“ MyGeneric>应该是MyGeneric_Int”。当我删除@:generic属性时,它可以编译并正常工作。我误会了@:generic的用法吗?这里甚至需要吗?这是在haxe 4.0.5上的

@:generic
class MyGeneric<T>
{
    public function new (fn:T)
    {
        trace(fn);
    }
}

class Repro
{
    static function main()
    {
        var tracer = getTracer();
    }

    public static function getTracer():MyGeneric<Any>
    {
        var arg:Any = 3;
        return getGeneric(arg);
    }

    @:generic
    public static function getGeneric<T>(T):MyGeneric<T>
    {
        return new MyGeneric(T);
    }
}
generics attributes haxe
1个回答
0
投票

您可以这样做:return cast getGeneric(arg);

© www.soinside.com 2019 - 2024. All rights reserved.