7

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
  • 値クラスで機能しないのはなぜですか?
4

0 に答える 0