我想要使用具有一个属性引用另一个案例类的案例类。但是在某些情况下,我构造了一个可以获得奇怪类型错误的对象。斯卡拉嵌套案例类生成奇怪的类型错误
所以像这样的东西很好。
case class Foo(a:Int)
case class Bar(b:Foo, c:Foo)
val t = Bar(Foo(1),Foo(2))
//t: Bar = Bar(Foo(1),Foo(2))
当我窝成一个对象,也似乎没有任何问题
object w {
case class Foo(a:Int)
case class Bar(b:Foo, c:Foo)
}
我甚至可以创建一个对象
val t = w.Bar(w.Foo(1),w.Foo(2))
然而,当我尝试从先前定义的Foo构造对象,它给了我一个疯狂的类型错误。
val f = w.Foo(1)
w.Bar(f,f)
// error: type mismatch;
// found : w.Foo
// required: w.Foo
// w.Bar(f,f)
任何想法? Scala 2.10.5
斯卡拉2.11.7正常工作 – ka4eli
我不能重现这个(斯卡拉上2.10.5) – roterl