Skip to content

[2.13.9] Can't reference sun. package classes with -release option #12643

Closed
scala/scala
#10543
@xuwei-k

Description

@xuwei-k

Reproduction steps

class A {
  classOf[sun.misc.Unsafe]
}

Problem

Java 8 without -release option

Success

$ java -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (Zulu 8.62.0.19-CA-macos-aarch64) (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (Zulu 8.62.0.19-CA-macos-aarch64) (build 25.332-b09, mixed mode)
$ scala -version
Scala code runner version 2.13.9 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc.
$ scalac A.scala 
A.scala:2: warning: a pure expression does nothing in statement position; multiline expressions may require enclosing parentheses
  classOf[sun.misc.Unsafe]
         ^
1 warning

Java 8 with -release:8 option

Success

$ scalac -release:8 A.scala
A.scala:2: warning: a pure expression does nothing in statement position; multiline expressions may require enclosing parentheses
  classOf[sun.misc.Unsafe]
         ^
1 warning

Java 11 without -release option

Success

$ java -version
openjdk version "11.0.16" 2022-07-19 LTS
OpenJDK Runtime Environment Zulu11.58+15-CA (build 11.0.16+8-LTS)
OpenJDK 64-Bit Server VM Zulu11.58+15-CA (build 11.0.16+8-LTS, mixed mode)
$ scala -version
Scala code runner version 2.13.9 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc.
$ scalac A.scala           
A.scala:2: warning: a pure expression does nothing in statement position; multiline expressions may require enclosing parentheses
  classOf[sun.misc.Unsafe]
         ^
1 warning

Java 11 with -release:11 option

Success

$ java -version 
openjdk version "11.0.16" 2022-07-19 LTS
OpenJDK Runtime Environment Zulu11.58+15-CA (build 11.0.16+8-LTS)
OpenJDK 64-Bit Server VM Zulu11.58+15-CA (build 11.0.16+8-LTS, mixed mode)
$ scala -version
Scala code runner version 2.13.9 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc.
$ scalac -release:11 A.scala
A.scala:2: warning: a pure expression does nothing in statement position; multiline expressions may require enclosing parentheses
  classOf[sun.misc.Unsafe]
         ^
1 warning

Java 11 with -release:8 option

Failure !?

$ java -version            
openjdk version "11.0.16" 2022-07-19 LTS
OpenJDK Runtime Environment Zulu11.58+15-CA (build 11.0.16+8-LTS)
OpenJDK 64-Bit Server VM Zulu11.58+15-CA (build 11.0.16+8-LTS, mixed mode)
$ scala -version            
Scala code runner version 2.13.9 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc.
$ scalac -release:8 A.scala 
A.scala:2: error: not found: value sun
  classOf[sun.misc.Unsafe]
          ^
1 error

Java 11 with -target:jvm-1.8 option

Success

$ java -version                
openjdk version "11.0.16" 2022-07-19 LTS
OpenJDK Runtime Environment Zulu11.58+15-CA (build 11.0.16+8-LTS)
OpenJDK 64-Bit Server VM Zulu11.58+15-CA (build 11.0.16+8-LTS, mixed mode)
$ scala -version                
Scala code runner version 2.13.9 -- Copyright 2002-2022, LAMP/EPFL and Lightbend, Inc.
$ scalac -target:jvm-1.8 A.scala
A.scala:2: warning: a pure expression does nothing in statement position; multiline expressions may require enclosing parentheses
  classOf[sun.misc.Unsafe]
         ^
warning: 1 deprecation; re-run with -deprecation for details
2 warnings

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions