如何基于依赖类型创建泛型约束?
How to create generic constraint based on dependent type?
我有以下类
trait Identifiable
case class Address extends Identifiable
abstract class AbstractTable[T] {
type TableElementType
}
class TableQuery[E <: AbstractTable[_]]
class Addresses(tag: Tag) extends Table[Address](tag, "addresses")
如何制作
abstract class AbstractOptionBaseRepsitory[T <: AbstractTable[_]]
仅接受 T
其中 T#TableElementType
是 Identifiable
的子类
怎么样
abstract class IdentifiableAbstractTable[T] extends AbstractTable[T] {
type TableElementType <: Identifiable
}
abstract class AbstractOptionBaseRepository[T <: IdentifiableAbstractTable[_]]
我有以下类
trait Identifiable
case class Address extends Identifiable
abstract class AbstractTable[T] {
type TableElementType
}
class TableQuery[E <: AbstractTable[_]]
class Addresses(tag: Tag) extends Table[Address](tag, "addresses")
如何制作
abstract class AbstractOptionBaseRepsitory[T <: AbstractTable[_]]
仅接受 T
其中 T#TableElementType
是 Identifiable
怎么样
abstract class IdentifiableAbstractTable[T] extends AbstractTable[T] {
type TableElementType <: Identifiable
}
abstract class AbstractOptionBaseRepository[T <: IdentifiableAbstractTable[_]]