We're seeing exceptions at runtime initialising a Terminal in interactive mode, but only for JRE 20 and 21:
java.lang.ClassCastException: Cannot cast java.lang.Integer to java.lang.foreign.MemorySegment
at java.base/java.lang.Class.cast(Class.java:4067)
at java.base/java.lang.invoke.VarHandles.insertCoordinates(VarHandles.java:501)
at java.base/java.lang.invoke.MethodHandles.insertCoordinates(MethodHandles.java:8144)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.FfmLayoutsKt.varHandle(FfmLayouts.kt:133)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.FfmLayoutsKt$shortField$$inlined$scalarField$default$1$1.invoke(FfmLayouts.kt:84)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.FfmLayoutsKt$shortField$$inlined$scalarField$default$1$1.invoke(FfmLayouts.kt:81)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.StructAccessor$DefaultImpls.getValue(FfmLayouts.kt:117)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.MacosCLibrary$winsize.getValue(TerminalInterface.ffm.macos.kt:11)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.MacosCLibrary$winsize.getWs_col(TerminalInterface.ffm.macos.kt:22)
at com.github.ajalt.mordant.terminal.terminalinterface.ffm.TerminalInterfaceFfmMacos.getTerminalSize(TerminalInterface.ffm.macos.kt:89)
at com.github.ajalt.mordant.terminal.TerminalDetectionKt.detectSize(TerminalDetection.kt:217)
at com.github.ajalt.mordant.terminal.Terminal.<init>(Terminal.kt:81)
All works fine on Java 17-19, and on Java 22-25.
Tested on macOs and Ubuntu using Temurin JREs.
We're seeing exceptions at runtime initialising a Terminal in interactive mode, but only for JRE 20 and 21:
All works fine on Java 17-19, and on Java 22-25.
Tested on macOs and Ubuntu using Temurin JREs.