You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following case causes an assertion failure in the latest 2.12 version. The case is derived from "t4790.scala" in the testsuite.
It seems to be a trunk regression since 2.11.8 and 2.9 are both OK.
$ scalac -version
Scala compiler version 2.12.0-20161020-214217-5b8e4d3 --Copyright2002-2016, LAMP/EPFL and Lightbend, Inc.
$ scalac crash-t4790.scala-95.scala
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Boolean,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Byte,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Char,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Double,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Float,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Int,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Long,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Short,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
crash-t4790.scala-95.scala:2:warning: classSp must be a trait. Specialized version of classFsp will inherit generic spectest.Sp[Unit,B]
classFsp [ @ specialized A , B ] ( a : A , b : B ) extendsSp ( a , b ) { defab= ( a , b ) } }
^
error: java.lang.AssertionError: assertion failed: List(value a, value a)
at scala.Predef$.assert(Predef.scala:219)
at scala.reflect.internal.Symbols$Symbol.suchThat(Symbols.scala:1931)
at scala.reflect.internal.Types.rebind(Types.scala:3474)
at scala.reflect.internal.Types.singleType(Types.scala:3500)
at scala.reflect.internal.Types.singleType$(Types.scala:3494)
at scala.reflect.internal.SymbolTable.singleType(SymbolTable.scala:16)
at scala.tools.nsc.typechecker.Typers$Typer.stabilizeFun(Typers.scala:657)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4632)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5579)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5585)
at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4913)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5448)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5573)
at scala.tools.nsc.typechecker.Typers$Typer.typedTypeApply$1(Typers.scala:5226)
at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5424)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5457)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$27(Typers.scala:4626)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:702)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4628)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3200)
at scala.tools.nsc.typechecker.Typers$Typer.withCondConstrTyper(Typers.scala:481)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:3200)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgWithFormal$1(PatternTypers.scala:113)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.$anonfun$typedArgsForFormals$1(PatternTypers.scala:116)
at scala.runtime.Tuple2Zipped$.$anonfun$map$1(Tuple2Zipped.scala:47)
at scala.collection.immutable.List.foreach(List.scala:378)
at scala.runtime.Tuple2Zipped$.map$extension(Tuple2Zipped.scala:45)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals(PatternTypers.scala:116)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals$(PatternTypers.scala:110)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgsForFormals(Typers.scala:111)
at scala.tools.nsc.typechecker.Typers$Typer.handleMonomorphicCall$1(Typers.scala:3545)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$doTypedApply$30(Typers.scala:3571)
at scala.tools.nsc.typechecker.TypeDiagnostics$TyperDiagnostics$checkDead$.updateExpr(TypeDiagnostics.scala:575)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3571)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4647)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:5709)
at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:2270)
at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5412)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:236)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5555)
at scala.tools.nsc.typechecker.Duplicators.retyped(Duplicators.scala:36)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationDuplicator.super$retyped(SpecializeTypes.scala:1338)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationDuplicator.$anonfun$retyped$1(SpecializeTypes.scala:1338)
at scala.reflect.internal.SymbolTable.enteringPhase(SymbolTable.scala:235)
at scala.tools.nsc.Global.enteringSpecialize(Global.scala:973)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationDuplicator.retyped(SpecializeTypes.scala:1338)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.duplicateBody(SpecializeTypes.scala:1799)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform1$31(SpecializeTypes.scala:1649)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transformDefDef$1(SpecializeTypes.scala:1649)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1721)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1404)
at scala.reflect.api.Trees$Transformer.$anonfun$transformTrees$1(Trees.scala:2559)
at scala.collection.immutable.List.loop$1(List.scala:173)
at scala.collection.immutable.List.mapConserve(List.scala:189)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2559)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform1$25(SpecializeTypes.scala:1632)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2600)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:30)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:25)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transformTemplate$1(SpecializeTypes.scala:1632)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1634)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1404)
at scala.reflect.api.Trees$Transformer.transformTemplate(Trees.scala:2563)
at scala.reflect.internal.Trees.$anonfun$itransform$4(Trees.scala:1412)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2600)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:30)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:25)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:17)
at scala.reflect.internal.Trees.itransform(Trees.scala:1411)
at scala.reflect.internal.Trees.itransform$(Trees.scala:1340)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1745)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1404)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2589)
at scala.collection.immutable.List.loop$1(List.scala:173)
at scala.collection.immutable.List.mapConserve(List.scala:189)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2587)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform1$21(SpecializeTypes.scala:1618)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2600)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:30)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1616)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationTransformer.$anonfun$transform$5(SpecializeTypes.scala:1991)
at scala.reflect.internal.SymbolTable.enteringPhase(SymbolTable.scala:235)
at scala.reflect.internal.SymbolTable.exitingPhase(SymbolTable.scala:256)
at scala.tools.nsc.Global.exitingSpecialize(Global.scala:963)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationTransformer.transform(SpecializeTypes.scala:1991)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationTransformer.transform(SpecializeTypes.scala:1987)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:140)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$GlobalPhase.$anonfun$applyPhase$1(Global.scala:402)
at scala.tools.nsc.Global$GlobalPhase.withCurrentUnitNoLog(Global.scala:395)
at scala.tools.nsc.Global$GlobalPhase.withCurrentUnit(Global.scala:386)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:402)
at scala.tools.nsc.Global$GlobalPhase.$anonfun$run$1(Global.scala:366)
at scala.tools.nsc.Global$GlobalPhase.$anonfun$run$1$adapted(Global.scala:366)
at scala.collection.Iterator.foreach(Iterator.scala:932)
at scala.collection.Iterator.foreach$(Iterator.scala:932)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1409)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:366)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1404)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1389)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1384)
at scala.tools.nsc.Global$Run.compile(Global.scala:1478)
at scala.tools.nsc.Driver.doCompile(Driver.scala:35)
at scala.tools.nsc.MainClass.doCompile(Main.scala:24)
at scala.tools.nsc.Driver.process(Driver.scala:55)
at scala.tools.nsc.Driver.main(Driver.scala:68)
at scala.tools.nsc.Main.main(Main.scala)
Exception in thread "main" java.lang.AssertionError: assertion failed: List(value a, value a)
at scala.Predef$.assert(Predef.scala:219)
at scala.reflect.internal.Symbols$Symbol.suchThat(Symbols.scala:1931)
at scala.reflect.internal.Types.rebind(Types.scala:3474)
at scala.reflect.internal.Types.singleType(Types.scala:3500)
at scala.reflect.internal.Types.singleType$(Types.scala:3494)
at scala.reflect.internal.SymbolTable.singleType(SymbolTable.scala:16)
at scala.tools.nsc.typechecker.Typers$Typer.stabilizeFun(Typers.scala:657)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4632)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5579)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:5585)
at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4913)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5448)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5573)
at scala.tools.nsc.typechecker.Typers$Typer.typedTypeApply$1(Typers.scala:5226)
at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5424)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5457)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$27(Typers.scala:4626)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:702)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4628)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3200)
at scala.tools.nsc.typechecker.Typers$Typer.withCondConstrTyper(Typers.scala:481)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:3200)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgWithFormal$1(PatternTypers.scala:113)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.$anonfun$typedArgsForFormals$1(PatternTypers.scala:116)
at scala.runtime.Tuple2Zipped$.$anonfun$map$1(Tuple2Zipped.scala:47)
at scala.collection.immutable.List.foreach(List.scala:378)
at scala.runtime.Tuple2Zipped$.map$extension(Tuple2Zipped.scala:45)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals(PatternTypers.scala:116)
at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals$(PatternTypers.scala:110)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgsForFormals(Typers.scala:111)
at scala.tools.nsc.typechecker.Typers$Typer.handleMonomorphicCall$1(Typers.scala:3545)
at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$doTypedApply$30(Typers.scala:3571)
at scala.tools.nsc.typechecker.TypeDiagnostics$TyperDiagnostics$checkDead$.updateExpr(TypeDiagnostics.scala:575)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3571)
at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4647)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4681)
at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5447)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5464)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:384)
at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:5709)
at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:2270)
at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5412)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5463)
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5500)
at scala.tools.nsc.typechecker.Typers$Typer.typedInternal(Typers.scala:5530)
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5474)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5478)
at scala.tools.nsc.typechecker.Duplicators$BodyDuplicator.typed(Duplicators.scala:236)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5555)
at scala.tools.nsc.typechecker.Duplicators.retyped(Duplicators.scala:36)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationDuplicator.super$retyped(SpecializeTypes.scala:1338)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationDuplicator.$anonfun$retyped$1(SpecializeTypes.scala:1338)
at scala.reflect.internal.SymbolTable.enteringPhase(SymbolTable.scala:235)
at scala.tools.nsc.Global.enteringSpecialize(Global.scala:973)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationDuplicator.retyped(SpecializeTypes.scala:1338)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.duplicateBody(SpecializeTypes.scala:1799)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform1$31(SpecializeTypes.scala:1649)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transformDefDef$1(SpecializeTypes.scala:1649)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1721)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1404)
at scala.reflect.api.Trees$Transformer.$anonfun$transformTrees$1(Trees.scala:2559)
at scala.collection.immutable.List.loop$1(List.scala:173)
at scala.collection.immutable.List.mapConserve(List.scala:189)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2559)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform1$25(SpecializeTypes.scala:1632)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2600)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:30)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:25)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transformTemplate$1(SpecializeTypes.scala:1632)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1634)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1404)
at scala.reflect.api.Trees$Transformer.transformTemplate(Trees.scala:2563)
at scala.reflect.internal.Trees.$anonfun$itransform$4(Trees.scala:1412)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2600)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:30)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:25)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:17)
at scala.reflect.internal.Trees.itransform(Trees.scala:1411)
at scala.reflect.internal.Trees.itransform$(Trees.scala:1340)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1745)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1404)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2589)
at scala.collection.immutable.List.loop$1(List.scala:173)
at scala.collection.immutable.List.mapConserve(List.scala:189)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2587)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform1$21(SpecializeTypes.scala:1618)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2600)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:30)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1616)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.$anonfun$transform$3(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1453)
at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1461)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationTransformer.$anonfun$transform$5(SpecializeTypes.scala:1991)
at scala.reflect.internal.SymbolTable.enteringPhase(SymbolTable.scala:235)
at scala.reflect.internal.SymbolTable.exitingPhase(SymbolTable.scala:256)
at scala.tools.nsc.Global.exitingSpecialize(Global.scala:963)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationTransformer.transform(SpecializeTypes.scala:1991)
at scala.tools.nsc.transform.SpecializeTypes$SpecializationTransformer.transform(SpecializeTypes.scala:1987)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:140)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$GlobalPhase.$anonfun$applyPhase$1(Global.scala:402)
at scala.tools.nsc.Global$GlobalPhase.withCurrentUnitNoLog(Global.scala:395)
at scala.tools.nsc.Global$GlobalPhase.withCurrentUnit(Global.scala:386)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:402)
at scala.tools.nsc.Global$GlobalPhase.$anonfun$run$1(Global.scala:366)
at scala.tools.nsc.Global$GlobalPhase.$anonfun$run$1$adapted(Global.scala:366)
at scala.collection.Iterator.foreach(Iterator.scala:932)
at scala.collection.Iterator.foreach$(Iterator.scala:932)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1409)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:366)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1404)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1389)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1384)
at scala.tools.nsc.Global$Run.compile(Global.scala:1478)
at scala.tools.nsc.Driver.doCompile(Driver.scala:35)
at scala.tools.nsc.MainClass.doCompile(Main.scala:24)
at scala.tools.nsc.Driver.process(Driver.scala:55)
at scala.tools.nsc.Driver.main(Driver.scala:68)
at scala.tools.nsc.Main.main(Main.scala)
$ cat crash-t4790.scala-95.scala
packagespectest {
classSp[@specialized A, B](vala:A, valb:B) {}
classFsp[@specialized A, B](a: A, b: B) extendsSp(a, b) { defab= (a, b) }
}
The text was updated successfully, but these errors were encountered:
The following case causes an assertion failure in the latest 2.12 version. The case is derived from "t4790.scala" in the testsuite.
It seems to be a trunk regression since 2.11.8 and 2.9 are both OK.
The text was updated successfully, but these errors were encountered: