这是简化的代码:
class Value(val value: Int) extends AnyVal
val v = new Value(1)
val x = new { val f: Int = v.value }
println(x.f)
val y = new { val f: Value = v }
println(y.f)
错误:结构细化中的结果类型可能未引用用户定义的值类
val y = 新 { val f: 值 = v }
我不明白。既然 Int 也是一个值类,为什么 Int 可以用作成员,但我的值类 Value 不能?为什么 scala 定义了这个限制?如何在结构类型中使用用户定义的值 vlass?