/ / Créer un trait commun pour toutes les classes de cas prenant en charge la méthode copy (id = newId) - scala, case-class

Créer un trait commun pour toutes les classes de cas prenant en charge la méthode copy (id = newId) - scala, classe de cas

J'essaie de faire quelque chose comme ça:

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

val id: ObjectId
}

J'ai "trouvé d'autres questions connexes en essayant defaire des choses similaires, mais ils n'ont pas vraiment répondu à cette question. Dans mon cas, j’essaie de copier les sous-classes de classe de cas de IdentifiableModel qui partagent toutes une valeur id

Réponses:

1 pour la réponse № 1

Travis Brown a la bonne réponse mais n’a pas répondu.

Il utilise des macros Scala: Comment modéliser des paramètres nommés dans des invocations de méthodes avec des macros Scala?