Closed as not planned
Closed as not planned
Description
Reproduction steps
Scala version: 2.13.11, 2.13.12
Java version: 17.0.8, 21-ea
package personal.code
import sun.util.calendar.ZoneInfo
import java.util.{Date, TimeZone}
object DateTimeUtils {
def rebaseGregorianToJulianDays(days: Int): Int = 100
def toJavaDate(days: Int): Date = {
val rebasedDays = rebaseGregorianToJulianDays(days)
val localMillis = Math.multiplyExact(rebasedDays, 86400000)
val timeZoneOffset = TimeZone.getDefault match {
case zoneInfo: ZoneInfo => zoneInfo.getOffsetsByWall(localMillis, null)
case timeZone: TimeZone => timeZone.getOffset(localMillis - timeZone.getRawOffset)
}
new Date(localMillis - timeZoneOffset)
}
}
Problem
Run command with Java 17 & 21-ea
scalac personal/code/DateTimeUtils.scala -release 11
or run command with Java 21-ea
scalac personal/code/DateTimeUtils.scala -release 17
There are compilation errors:
personal/code/DateTimeUtils.scala:3: error: object util is not a member of package sun
import sun.util.calendar.ZoneInfo
^
personal/code/DateTimeUtils.scala:15: error: not found: type ZoneInfo
case zoneInfo: ZoneInfo => zoneInfo.getOffsetsByWall(localMillis, null)
^
personal/code/DateTimeUtils.scala:15: error: value getOffsetsByWall is not a member of java.util.TimeZone
case zoneInfo: ZoneInfo => zoneInfo.getOffsetsByWall(localMillis, null)
^
3 errors
But if the command is changed to
scalac personal/code/DateTimeUtils.scala -target:11
or
scalac personal/code/DateTimeUtils.scala -release 17 // with Java 17
scalac personal/code/DateTimeUtils.scala -release 21 // with Java 21
the compilation will be successful.