为支持copy(id = newId)方法的所有案例类创建共同特征

时间:2013-02-25 22:53:33

标签: scala case-class

我正在尝试做类似的事情:

trait IdentifiableModel[T] {
  self: { def copy(id: ObjectId): T } =>

  val id: ObjectId
}

我发现其他一些相关的问题试图做类似的事情,但他们并没有真正回答这个问题。 就我而言,我正在尝试复制所有共享id值的IdentifiableModel的case类子类

1 个答案:

答案 0 :(得分:1)

特拉维斯·布朗有很好的答案,但没有回复。

他使用Scala宏: Howto model named parameters in method invocations with Scala macros?