Foo [T]到Bar [T]

时间:2016-08-24 08:25:04

标签: scala existential-type type-level-computation

可以这样做吗?

case class Foo[T](value: T)
case class Bar[T](value: T)

val map = mutable.Map.empty[Foo[_], Bar[_]]

map(Foo(1)) = Bar(1) // correct
map(Foo(1)) = Bar(1.1) // should cause a compiler error

只要TFoo#T都相同,就应该允许任何类型Bar#T

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的操作,强制FooBar的{​​{1}}类型参数相同:

T