扩展play.api.mvc.WrappedRequest的Case类没有copy方法

时间:2016-08-04 22:21:36

标签: scala

我有一个案例类

case class Oauth2Request[A](
  foo: String,
  request: Request[A]
) extends WrappedRequest[A](request) {
    def bar = foo
}

(那是play.api.mvc.WrappedRequest)稍后用

实例化
val wrappedRequest = Oauth2Request("foo",otherRequest)
val publicApiRequest = wrappedRequest.copy(request=apiRequest)

在我的标识autocompletion

中出现

最终结果看起来像error,编译错误

not found: value request

为什么复制方法会带来看起来像WrappedRequest的构造函数的参数而不是我期望的复制方法,可以用来复制/更改原始对象的一个​​或多个字段?

1 个答案:

答案 0 :(得分:0)

正如您在docs if(temp[i1]<=arr[i2]) // i1 isn't a valid index into temp, should be (i1 - ilow) 中看到的那样不是案例类。但它确实有一个复制方法,正如您的IDE所示,但这些参数都没有被命名为temp

由于该类的构造函数采用了WrappedRequest类型的一个参数,为什么不只是request