scalacenter / scala

The Scala programming language

Home Page:http://www.scala-lang.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't unpickle object overloaded by method

bishabosha opened this issue · comments

Dotty 0.20.0 Source

object ObjOverload {
  def foo[A <: 42](a: A) = 42
  object foo { def apply(i: 43) = i }
}

Scala 2.13.2 Source

object Test {
  def test = ObjOverload.foo(42)
}

Crash Compiling Scala 2.13.2 Source

trace using -Ydebug-tasty
#[class ObjOverload]: Template: indexing members of object ObjOverload
#[class ObjOverload]: creating symbol <init> at Addr(60) with flags METHOD
#[class ObjOverload]: registered Symbol(constructor ObjOverload, #786041152) in object ObjOverload at Addr(60)
#[class ObjOverload]: creating symbol writeReplace at Addr(69) with flags PRIVATE | METHOD | SYNTHETIC
#[class ObjOverload]: registered Symbol(method writeReplace, #897074030) in object ObjOverload at Addr(69)
#[class ObjOverload]: creating symbol foo at Addr(92) with flags METHOD
#[class ObjOverload]: registered Symbol(method foo, #1885996206) in object ObjOverload at Addr(92)
#[class ObjOverload]: creating symbol foo at Addr(122) with flags FINAL | MODULE | STABLE | LAZY
#[class ObjOverload]: registered Symbol(object foo, #1859039536) in object ObjOverload at Addr(122)
#[class ObjOverload]: creating symbol foo at Addr(142) with flags FINAL | MODULE
error: java.lang.AssertionError: assertion failed: unpickling module class from TASTy before its module val.
	at scala.Predef$.assert(Predef.scala:282)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.createMemberSymbol(TreeUnpickler.scala:630)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.createSymbol(TreeUnpickler.scala:537)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.symbolAtCurrent(TreeUnpickler.scala:257)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.indexStats(TreeUnpickler.scala:774)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.readTemplate(TreeUnpickler.scala:968)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.readNewMember(TreeUnpickler.scala:917)
	at scala.tools.nsc.tasty.TreeUnpickler$TreeReader.readIndexedMember(TreeUnpickler.scala:840)
	at scala.tools.nsc.tasty.TreeUnpickler$Completer.$anonfun$complete$1(TreeUnpickler.scala:120)
	at scala.tools.nsc.tasty.bridge.ContextOps$Contexts$.withPhaseNoLater(ContextOps.scala:156)
	at scala.tools.nsc.tasty.TreeUnpickler$Completer.complete(TreeUnpickler.scala:119)
	...