Cannot use modify in opaque types
@KacperFKorban ya está trabajando en esto.
Desde el 30/6/2024.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Following opaque type has defined both getters and copy, but it is not possible to use quicklens on it:
import com.softwaremill.quicklens.*
object Types {
case class V(x: Double, y: Double)
opaque type Vec = V
object Vec {
def apply(x: Double, y: Double): Vec = V(x, y)
}
extension (v: Vec) {
def x: Double = v.x
def y: Double = v.y
def copy(x: Double = v.x, y: Double = v.y): Vec = V(x, y)
}
}
object Main {
import Types.*
def main(args: Array[String]): Unit = {
val a = Vec(1, 2)
val b = a.modify(_.x).using(_ + 1)
println(b)
}
}
With Scala 3.4.2 the error is:
Unsupported path element. Path must have shape: .field1.field2.each.field3.(...), got: (($1: Types.Vec) => Types.x($1))
val b = a.modify(.x).using(_ + 1)
- Lenguaje dominante
- Scala
- Estrellas
- 851
- Forks
- 53
- Merge medio
- 3 d 8 h
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de softwaremill/quicklens
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
softwaremill/quicklens#296 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
softwaremill/quicklens#291 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
softwaremill/quicklens#258 · 4 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
softwaremill/quicklens#208 · 2 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
softwaremill/quicklens#116 · 1 comentario ·
Todos los issues de softwaremill/quicklens
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
com-lihaoyi/mill#7776 ·
Los mantenedores suelen responder en 1 día
-
Module: Form Builder
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
orbeon/orbeon-forms#7943 ·
Los mantenedores suelen responder en 2 días
-
module: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
bigbluebutton/bigbluebutton#26028 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
lambdaworks/zio-elasticsearch#869 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bazel-contrib/rules_scala#2018 ·
Los mantenedores suelen responder en 2 días