❯ /usr/local/opt/scala@2.13/bin/scala -Xsource:3 -language:postfixOps -Xlint
Welcome to Scala 2.13.11 (OpenJDK 64-Bit Server VM, Java 1.8.0_372).
Type in expressions for evaluation. Or try :help.
scala> def foo(max: Int) = (1 to max).map(1 to).foreach(r => println(r.mkString(",")))
java.lang.NullPointerException
at scala.tools.nsc.typechecker.Typers$Typer.checkDubiousAdaptation$1(Typers.scala:5330)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$59(Typers.scala:5337)
at scala.tools.nsc.typechecker.Typers$Typer.typedSelect$1(Typers.scala:5337)
at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:5482)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6062)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:3473)
at scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3877)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3896)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:5153)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:5164)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6061)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:6215)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6062)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$41(Typers.scala:5130)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:697)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:5132)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:5164)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6061)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:6206)
at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:1138)
at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1479)
at scala.tools.nsc.typechecker.Namers$Namer.memberSig(Namers.scala:1962)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1913)
at scala.tools.nsc.typechecker.Namers$Namer$MonoTypeCompleter.completeImpl(Namers.scala:875)
at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete(Namers.scala:2110)
at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter.complete$(Namers.scala:2108)
at scala.tools.nsc.typechecker.Namers$TypeCompleterBase.complete(Namers.scala:2103)
at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1562)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1534)
at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1723)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5698)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6195)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3455)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3455)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2078)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1916)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6024)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6195)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3455)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3455)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2078)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1916)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6024)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:6195)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$8(Typers.scala:3455)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3455)
at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5707)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:6027)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:6117)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:124)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:480)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:111)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1545)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1529)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:752)
at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:975)
at scala.tools.nsc.interpreter.IMain.compile(IMain.scala:541)
at scala.tools.nsc.interpreter.IMain.doInterpret(IMain.scala:527)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:511)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:509)
at scala.tools.nsc.interpreter.shell.ILoop.loop$1(ILoop.scala:878)
at scala.tools.nsc.interpreter.shell.ILoop.interpretStartingWith(ILoop.scala:906)
at scala.tools.nsc.interpreter.shell.ILoop.command(ILoop.scala:433)
at scala.tools.nsc.interpreter.shell.ILoop.processLine(ILoop.scala:440)
at scala.tools.nsc.interpreter.shell.ILoop.loop(ILoop.scala:458)
at scala.tools.nsc.interpreter.shell.ILoop.run(ILoop.scala:968)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:88)
at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:92)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:105)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:113)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
Problem
This code compiles on 2.13.11 without -Xlint, and also gives a meaningful compiled error on 3.3.0. It also used to compile on 2.13.10 with the same flags.
Reproduction steps
Scala version: 2.13.11
Problem
This code compiles on 2.13.11 without
-Xlint
, and also gives a meaningful compiled error on 3.3.0. It also used to compile on 2.13.10 with the same flags.