Closed
Description
Original issue: scalameta/metals#6494
Compiler version
3.4.2
Minimized code
//> using scala "3.4.2"
//> using dep "com.h2database:h2:2.2.224"
import scala.quoted._
class LoadStuff extends Selectable:
def selectDynamic(name: String): Any = name
object LoadStuff:
transparent inline def make = ${ makeImpl }
private def makeImpl(using Quotes): Expr[Any] =
import quotes.reflect.*
Class.forName("org.h2.Driver") // problematic line
val refinement = Refinement(TypeRepr.of[LoadStuff], "name", TypeRepr.of[String])
refinement.asType match
case '[refined] => '{ LoadStuff().asInstanceOf[refined] }
Output
Interactive compiler reports error diagnostics:
java.lang.ClassNotFoundException: java.sql.Driver
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:421)
at java.base/java.lang.Class.forName(Class.java:412)
at a.LoadStuff$.makeImpl(LoadStuff.scala:13)
at a.LoadStuff$.inline$makeImpl(LoadStuff.scala:10)
Expectation
Should compile fine and diagnostics should be empty.