Cannot use modify in opaque types
@KacperFKorban ci sta già lavorando.
Dal 30/6/2024.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
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)
- Lingua principale
- Scala
- Stelle
- 851
- Fork
- 53
- Merge medio
- 3g 8h
- PR unite (30g)
- 3
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di softwaremill/quicklens
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
softwaremill/quicklens#296 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
softwaremill/quicklens#291 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
softwaremill/quicklens#258 · 4 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
softwaremill/quicklens#208 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
softwaremill/quicklens#116 · 1 commento ·
Tutte le issue di softwaremill/quicklens
Issue simili
-
Module: Form Builder
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
orbeon/orbeon-forms#7943 ·
I maintainer di solito rispondono entro 2 giorni
-
module: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
bigbluebutton/bigbluebutton#26028 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
lambdaworks/zio-elasticsearch#869 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Philippus/sbt-dotenv#355 ·
-
LFSR.tapsMaxPeriod: 17 second tap sets (widths 725 to 755) are a single number larger than the widthAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
chipsalliance/chisel#5512 ·
I maintainer di solito rispondono entro 2 giorni