Вот упрощенный код:
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 = new {val f: Value = v}
Я не понимаю. Поскольку Int также является классом значений, почему Int можно использовать в качестве члена, но мой класс значений Value отсутствует? Почему scala определяет это ограничение? Как я могу использовать пользовательское значение vlass в структурных типах?