The inferred type of method Foo.Tac.fun
is scala.List[tic.C]
which illegally refer\
s to the local variable t
. The problem shows up when one tries to compile a file containing the fol\
lowing code:
import test.Foo._;
This generates the following exception:
Exception in thread "main" java.lang.AssertionError:
at scalac.symtab.Symbol.rawFirstInfoStartPhase(Symbol.java:939)
at scalac.symtab.Symbol.info(Symbol.java:803)
at scalac.symtab.classfile.UnPickle.enterSymbol(UnPickle.java:153)
at scalac.symtab.classfile.UnPickle.getSymbol(UnPickle.java:285)
at scalac.symtab.classfile.UnPickle.readSymbolRef(UnPickle.java:294)
at scalac.symtab.classfile.UnPickle.getSymbol(UnPickle.java:217)
at scalac.symtab.classfile.UnPickle.readSymbolRef(UnPickle.java:294)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:337)
at scalac.symtab.classfile.UnPickle.readTypeRef(UnPickle.java:400)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:345)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:415)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:416)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:404)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:345)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:415)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:416)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:404)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:351)
at scalac.symtab.classfile.UnPickle.getSymbol(UnPickle.java:246)
at scalac.symtab.classfile.UnPickle.readSymbolRef(UnPickle.java:294)
at scalac.symtab.classfile.UnPickle.getSymbol(UnPickle.java:217)
at scalac.symtab.classfile.UnPickle.readSymbolRef(UnPickle.java:294)
at scalac.symtab.classfile.UnPickle.getSymbol(UnPickle.java:217)
at scalac.symtab.classfile.UnPickle.readSymbolRef(UnPickle.java:294)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:337)
at scalac.symtab.classfile.UnPickle.readTypeRef(UnPickle.java:400)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:345)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:415)
at scalac.symtab.classfile.UnPickle.readTypeRefs(UnPickle.java:404)
at scalac.symtab.classfile.UnPickle.getType(UnPickle.java:345)
at scalac.symtab.classfile.UnPickle.readTypeRef(UnPickle.java:400)
...