Generics Groovy-泛型常量中的特征

Generics Groovy-泛型常量中的特征,generics,groovy,traits,generic-constraints,Generics,Groovy,Traits,Generic Constraints,在Groovy中使用Trait作为扩展约束有一个问题。 问题可以概括如下: 以下工作: interface AInterface { String getA() } trait ATrait implements AInterface { String a } class AClass implements ATrait {} class GenericClass<T extends AInterface> {} GenericClass<AClass>

在Groovy中使用Trait作为扩展约束有一个问题。 问题可以概括如下:

以下工作:


interface AInterface {
    String getA()
}
trait ATrait implements AInterface {
    String a
}
class AClass implements ATrait {}
class GenericClass<T extends AInterface> {}
GenericClass<AClass> instance
但以下情况并非如此:


interface AInterface {
    String getA()
}
trait ATrait implements AInterface {
    String a
}
class AClass implements ATrait {}
class GenericClass<T extends ATrait> {} // XXX: instead of AInterface
GenericClass<AClass> instance
这对我来说毫无意义也许是Groovy中的一个bug?我在2.5.8和3.0.0RC版本中尝试了groovyc和groovy

感谢您的帮助,traits对我非常有用,我不想引入虚拟接口作为通用constant,即使这是一种解决方法