Scala 3 lazy val implementation breaks FieldAccess reflection
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia dallo stack trace di FieldAccess.get e riproduci il ClassFormatError usando una classe Scala 3 che contiene un lazy val. Traccia il modo in cui la classe di accesso generata gestisce il campo 0bitmap$1; il lavoro è completo quando le classi lazy-val di Scala 3 non generano più questo errore.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Scala 3 changed the implementation of lazy vals. Classes containing a lazy val end up with a field called 0bitmap$1:
Compiled from "Test.scala"
public class Test implements scala.Product,java.io.Serializable {
public static final long OFFSET$0;
public long 0bitmap$1;
private final byte a;
...
This results in a ClassFormatError:
Cause: java.lang.ClassFormatError: Illegal field name "0bitmap$1" in class io/altoo/akka/serialization/kryo/TestFieldAccess
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at com.esotericsoftware.reflectasm.AccessClassLoader.defineClass(AccessClassLoader.java:78)
at com.esotericsoftware.reflectasm.AccessClassLoader.defineAccessClass(AccessClassLoader.java:57)
at com.esotericsoftware.reflectasm.FieldAccess.get(FieldAccess.java:173)
(Report from https://github.com/EsotericSoftware/kryo/issues/882)
- Lingua principale
- Java
- Stelle
- 1.5k
- Fork
- 217
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 EsotericSoftware/reflectasm
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
EsotericSoftware/reflectasm#94 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
EsotericSoftware/reflectasm#91 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Tutte le issue di EsotericSoftware/reflectasm
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
scylladb/scylla-cdc-source-connector#350 ·
I maintainer di solito rispondono entro 1 giorno
-
agent:working documentation enhancement go:build lane:needs-decision
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Sanne/incus-spawn#1435 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
area:shuffle bug priority:high requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/datafusion-comet#7062 ·
I maintainer di solito rispondono entro 1 giorno
-
wait for review
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue up-for-grabs
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
AnikethTS/ChangeRadar#22 ·
I maintainer di solito rispondono entro 1 giorno