scalac crash
| sealed trait Z[F[+_]] { | |
| def impl: Int = | |
| this match { | |
| case ZImpl(i) => i | |
| } | |
| } | |
| case class ZImpl[F[+_]](z: Int) extends Z[F] | |
| /* | |
| $ scalac -version && scalac Z.scala | |
| Scala compiler version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL | |
| error: java.lang.Error: typeConstructor inapplicable for <none> | |
| at scala.tools.nsc.symtab.SymbolTable.abort(SymbolTable.scala:34) | |
| at scala.tools.nsc.symtab.Symbols$Symbol.typeConstructor(Symbols.scala:880) | |
| at scala.tools.nsc.symtab.Types$TypeVar$$anonfun$normalize$2.apply(Types.scala:2547) | |
| at scala.tools.nsc.symtab.Types$TypeVar$$anonfun$normalize$2.apply(Types.scala:2547) | |
| at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) | |
| at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) | |
| at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) | |
| at scala.collection.immutable.List.foreach(List.scala:76) | |
| at scala.collection.TraversableLike$class.map(TraversableLike.scala:233) | |
| at scala.collection.immutable.List.map(List.scala:76) | |
| at scala.tools.nsc.symtab.Types$TypeVar.normalize(Types.scala:2547) | |
| at scala.tools.nsc.symtab.Types$class.isHKSubType0(Types.scala:4591) | |
| at scala.tools.nsc.symtab.SymbolTable.isHKSubType0(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4642) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4536) | |
| at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:143) | |
| at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4523) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:638) | |
| at scala.tools.nsc.symtab.Types$class.isSubArg(Types.scala:4627) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubArg(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubArgs$2.apply(Types.scala:4630) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubArgs$2.apply(Types.scala:4630) | |
| at scala.tools.nsc.symtab.Types$class.corresponds3(Types.scala:4623) | |
| at scala.tools.nsc.symtab.SymbolTable.corresponds3(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$class.isSubArgs(Types.scala:4630) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubArgs(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$class.firstTry$1(Types.scala:4661) | |
| at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4821) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4536) | |
| at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:143) | |
| at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4523) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:638) | |
| at scala.tools.nsc.symtab.Types$class.firstTry$1(Types.scala:4665) | |
| at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4821) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4536) | |
| at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:143) | |
| at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4523) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:638) | |
| at scala.tools.nsc.typechecker.Infer$Inferencer.inferConstructorInstance(Infer.scala:1321) | |
| at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:849) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4282) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3355) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3355) | |
| at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:624) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3355) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4106) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedPattern$1.apply(Typers.scala:4371) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedPattern$1.apply(Typers.scala:4371) | |
| at scala.tools.nsc.typechecker.Contexts$Context.withImplicitsDisabled(Contexts.scala:156) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedPattern(Typers.scala:4371) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:1941) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1975) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1974) | |
| at scala.collection.immutable.List.loop$1(List.scala:148) | |
| at scala.collection.immutable.List.mapConserve(List.scala:164) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:1974) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4005) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:4430) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1760) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3921) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2100) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.collection.immutable.List.loop$1(List.scala:148) | |
| at scala.collection.immutable.List.mapConserve(List.scala:164) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1512) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1278) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3912) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2100) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.collection.immutable.List.loop$1(List.scala:148) | |
| at scala.collection.immutable.List.mapConserve(List.scala:164) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3908) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4333) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:94) | |
| at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86) | |
| at scala.collection.Iterator$class.foreach(Iterator.scala:772) | |
| at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:318) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:86) | |
| at scala.tools.nsc.Global$Run.compileSources(Global.scala:953) | |
| at scala.tools.nsc.Global$Run.compile(Global.scala:1041) | |
| at scala.tools.nsc.Main$.process(Main.scala:106) | |
| at scala.tools.nsc.Main$.main(Main.scala:123) | |
| at scala.tools.nsc.Main.main(Main.scala) | |
| Exception in thread "main" java.lang.Error: typeConstructor inapplicable for <none> | |
| at scala.tools.nsc.symtab.SymbolTable.abort(SymbolTable.scala:34) | |
| at scala.tools.nsc.symtab.Symbols$Symbol.typeConstructor(Symbols.scala:880) | |
| at scala.tools.nsc.symtab.Types$TypeVar$$anonfun$normalize$2.apply(Types.scala:2547) | |
| at scala.tools.nsc.symtab.Types$TypeVar$$anonfun$normalize$2.apply(Types.scala:2547) | |
| at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) | |
| at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) | |
| at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) | |
| at scala.collection.immutable.List.foreach(List.scala:76) | |
| at scala.collection.TraversableLike$class.map(TraversableLike.scala:233) | |
| at scala.collection.immutable.List.map(List.scala:76) | |
| at scala.tools.nsc.symtab.Types$TypeVar.normalize(Types.scala:2547) | |
| at scala.tools.nsc.symtab.Types$class.isHKSubType0(Types.scala:4591) | |
| at scala.tools.nsc.symtab.SymbolTable.isHKSubType0(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4642) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4536) | |
| at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:143) | |
| at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4523) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:638) | |
| at scala.tools.nsc.symtab.Types$class.isSubArg(Types.scala:4627) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubArg(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubArgs$2.apply(Types.scala:4630) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubArgs$2.apply(Types.scala:4630) | |
| at scala.tools.nsc.symtab.Types$class.corresponds3(Types.scala:4623) | |
| at scala.tools.nsc.symtab.SymbolTable.corresponds3(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$class.isSubArgs(Types.scala:4630) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubArgs(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$class.firstTry$1(Types.scala:4661) | |
| at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4821) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4536) | |
| at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:143) | |
| at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4523) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:638) | |
| at scala.tools.nsc.symtab.Types$class.firstTry$1(Types.scala:4665) | |
| at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4821) | |
| at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4536) | |
| at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:143) | |
| at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4523) | |
| at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13) | |
| at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:638) | |
| at scala.tools.nsc.typechecker.Infer$Inferencer.inferConstructorInstance(Infer.scala:1321) | |
| at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:849) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4282) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3355) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:3355) | |
| at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:624) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3355) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4106) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedPattern$1.apply(Typers.scala:4371) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedPattern$1.apply(Typers.scala:4371) | |
| at scala.tools.nsc.typechecker.Contexts$Context.withImplicitsDisabled(Contexts.scala:156) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedPattern(Typers.scala:4371) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:1941) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1975) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1974) | |
| at scala.collection.immutable.List.loop$1(List.scala:148) | |
| at scala.collection.immutable.List.mapConserve(List.scala:164) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:1974) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4005) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:4430) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1760) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3921) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2100) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.collection.immutable.List.loop$1(List.scala:148) | |
| at scala.collection.immutable.List.mapConserve(List.scala:164) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1512) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1278) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3912) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2100) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184) | |
| at scala.collection.immutable.List.loop$1(List.scala:148) | |
| at scala.collection.immutable.List.mapConserve(List.scala:164) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2184) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3908) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4273) | |
| at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4333) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:94) | |
| at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86) | |
| at scala.collection.Iterator$class.foreach(Iterator.scala:772) | |
| at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:318) | |
| at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:86) | |
| at scala.tools.nsc.Global$Run.compileSources(Global.scala:953) | |
| at scala.tools.nsc.Global$Run.compile(Global.scala:1041) | |
| at scala.tools.nsc.Main$.process(Main.scala:106) | |
| at scala.tools.nsc.Main$.main(Main.scala:123) | |
| at scala.tools.nsc.Main.main(Main.scala) | |
| */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
It's fixed in 2.10.
A workaround is to widen the type of the scrutinee: