mkU*_*tra 6 scala compiler-errors compilation structural-typing value-class
当我将包装器定义为值类(扩展AnyVal)时:
class Wrapper(val string: String) extends AnyVal
def wrapperHolder(w: Wrapper): {def wrapper: Wrapper} = new {
def wrapper: Wrapper = w
}
Run Code Online (Sandbox Code Playgroud)
我对于wrapperHolder有以下编译错误:
Error:(5, 22) Result type in structural refinement may not refer to a user-defined value class
def wrapper: Wrapper = w
Run Code Online (Sandbox Code Playgroud)
小智 0
声明一个特质可能会有所帮助:
class Wrapper(val string: String) extends AnyVal
trait WrapperHolder {
def wrapper: Wrapper
}
def wrapperHolder(w: Wrapper) : WrapperHolder = new WrapperHolder {
def wrapper: Wrapper = w
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
260 次 |
最近记录: |