scala / bug

Scala 2 bug reports only. Please, no questions — proper bug reports only.
https://scala-lang.org
232 stars 21 forks source link

Assertion error during tree transformation #2336

Closed scabug closed 13 years ago

scabug commented 15 years ago

Compiling the code below

class Foo[A] {
  class Bar[B >: A](x: B) extends Foo[B]
}
object bug {
  new Foo[Int]#Bar(0)
}

produces the following exception (2.7.x and trunk):

Exception in thread "main" java.lang.AssertionError: assertion failed: Foo[Int]
        at scala.Predef$$.assert(Predef.scala:107)
        at scala.tools.nsc.ast.TreeGen.mkAttributedQualifier(TreeGen.scala:76)
        at scala.tools.nsc.ast.TreeGen.mkAttributedQualifier(TreeGen.scala:42)
        at scala.tools.nsc.transform.ExplicitOuter$$ExplicitOuterTransformer.transform(ExplicitOuter.scala:472)
        at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1$$$$anonfun$$apply$$4.apply(Trees.scala:1537)
        at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1$$$$anonfun$$apply$$4.apply(Trees.scala:1537)
        at scala.tools.nsc.ast.Trees$$Transformer.atOwner(Trees.scala:1546)
        at scala.tools.nsc.transform.TypingTransformers$$TypingTransformer.atOwner(TypingTransformers.scala:37)
        at scala.tools.nsc.transform.TypingTransformers$$TypingTransformer.atOwner(TypingTransformers.scala:30)
        at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:1537)
        at scala.tools.nsc.ast.Trees$$Transformer$$$$anonfun$$transformStats$$1.apply(Trees.scala:1536)
        at scala.collection.immutable.List.loop$$2(List.scala:123)
        at scala.collection.immutable.List.mapConserve(List.scala:140)
        at scala.tools.nsc.ast.Trees$$Transformer.transformStats(Trees.scala:1536)
[...]
scabug commented 15 years ago

Imported From: https://issues.scala-lang.org/browse/SI-2336?orig=1 Reporter: @michelou

scabug commented 15 years ago

@odersky said: Fixed in trunk.