Wrapper を値クラスとして定義すると (AnyVal を拡張):
class Wrapper(val string: String) extends AnyVal
def wrapperHolder(w: Wrapper): {def wrapper: Wrapper} = new {
def wrapper: Wrapper = w
}
wrapperHolder のコンパイル エラーは次のとおりです。
Error:(5, 22) Result type in structural refinement may not refer to a user-defined value class
def wrapper: Wrapper = w
- 値クラスで機能しないのはなぜですか?