【发布时间】:2015-05-10 05:47:59
【问题描述】:
有没有办法引用被同名抽象类型成员遮蔽的泛型类型参数?
假设我们有一个 trait 和扩展类:
trait Foo {
type T
var get: T = _
}
class Bar[X] extends Foo {
override type T = X //We can set the type member by referencing the generic parameter X
}
class Baz[T] extends Foo {
override type T = ??? //How can we reference the generic parameter T here?
}
显然,仅将泛型参数命名为不同于类型成员的名称通常没什么大不了的,但这并不总是最好的选择(例如,在使用外部库时)。有没有办法引用阴影泛型参数? Scala 规范在哪里描述了类型成员和泛型参数之间的这种交互?
【问题讨论】:
标签: scala generics type-members