Created
October 31, 2010 15:45
-
-
Save k-tsj/656740 to your computer and use it in GitHub Desktop.
maybe a scala compiler(2.8.1RC4) bug
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Main { | |
def main(args: Array[String]) { | |
args match { | |
case Array("a", a @ _*) => { } // この行外す or @ _*削る or 下の行と順番を入れ替えるとコンパイル通る | |
case Array("b") => { } // この行外すとコンパイル通る | |
case Array("c", c) => { | |
0 // この行外すとコンパイル通る | |
} | |
} | |
} | |
} | |
// $ uname -a | |
// Linux lucid 2.6.32-24-server #41-Ubuntu SMP Thu Aug 19 02:47:08 UTC 2010 x86_64 GNU/Linux | |
// | |
// $ javac -version | |
// javac 1.6.0_22 | |
// | |
// $ scalac -version | |
// Scala compiler version 2.8.1.RC4 -- Copyright 2002-2010, LAMP/EPFL | |
// | |
// $ scalac Main.scala | |
// | |
// Exception in thread "main" scala.tools.nsc.symtab.Types$TypeError: not enough arguments for method body%2: (val c: java.lang.String)Unit. | |
// Unspecified value parameter c. | |
// at scala.tools.nsc.typechecker.Contexts$Context.error(Contexts.scala:274) | |
// at scala.tools.nsc.typechecker.Infer$Inferencer.error(Infer.scala:205) | |
// at scala.tools.nsc.typechecker.Infer$Inferencer.errorTree(Infer.scala:209) | |
// at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryNamesDefaults$1$4.apply(Typers.scala:2410) | |
// at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryNamesDefaults$1$4.apply(Typers.scala:2402) | |
// at scala.Option.getOrElse(Option.scala:104) | |
// at scala.tools.nsc.typechecker.Typers$Typer.tryNamesDefaults$1(Typers.scala:2402) | |
// at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2421) | |
// at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3380) | |
// at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4049) | |
// at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4203) | |
// at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4252) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$RuleApplication.mkFail(ParallelMatching.scala:251) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixTypes.failure(ParallelMatching.scala:648) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$RuleApplication.codegen(ParallelMatching.scala:247) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixTypes.tree(ParallelMatching.scala:650) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$Rep.applyRule(ParallelMatching.scala:838) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$RuleApplication.mkFail(ParallelMatching.scala:251) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixTypes.failure(ParallelMatching.scala:648) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$RuleApplication.codegen(ParallelMatching.scala:247) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixTypes.tree(ParallelMatching.scala:650) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$Rep.applyRule(ParallelMatching.scala:838) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixSequence.success(ParallelMatching.scala:529) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$RuleApplication.codegen(ParallelMatching.scala:247) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixSequence.tree(ParallelMatching.scala:532) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$Rep.applyRule(ParallelMatching.scala:838) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixUnapply.success(ParallelMatching.scala:432) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$RuleApplication.codegen(ParallelMatching.scala:247) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$MixUnapply.tree(ParallelMatching.scala:438) | |
// at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$Rep.applyRule(ParallelMatching.scala:838) | |
// at scala.tools.nsc.matching.TransMatcher$class.handlePattern(TransMatcher.scala:80) | |
// at scala.tools.nsc.transform.ExplicitOuter.handlePattern(ExplicitOuter.scala:19) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.matchTranslation(ExplicitOuter.scala:399) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:488) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:761) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:759) | |
// at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:877) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) | |
// at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:758) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) | |
// at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:239) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:457) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:869) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:867) | |
// at scala.collection.immutable.List.loop$1(List.scala:115) | |
// at scala.collection.immutable.List.mapConserve(List.scala:132) | |
// at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:867) | |
// at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:775) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) | |
// at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:877) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) | |
// at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:239) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:437) | |
// at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:853) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:745) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:744) | |
// at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:877) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) | |
// at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:743) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) | |
// at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:239) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:498) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:869) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:867) | |
// at scala.collection.immutable.List.loop$1(List.scala:115) | |
// at scala.collection.immutable.List.mapConserve(List.scala:132) | |
// at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:867) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:739) | |
// at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:739) | |
// at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:877) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) | |
// at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:738) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) | |
// at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:877) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) | |
// at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) | |
// at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:239) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:498) | |
// at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:870) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.scala$tools$nsc$transform$ExplicitOuter$ExplicitOuterTransformer$$super$transformUnit(ExplicitOuter.scala:507) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:507) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:507) | |
// at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:103) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:507) | |
// at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:302) | |
// at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30) | |
// at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply(Global.scala:282) | |
// at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply(Global.scala:282) | |
// at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:48) | |
// at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:282) | |
// at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:256) | |
// at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:256) | |
// at scala.collection.Iterator$class.foreach(Iterator.scala:631) | |
// at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:304) | |
// at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:256) | |
// at scala.tools.nsc.Global$Run.compileSources(Global.scala:741) | |
// at scala.tools.nsc.Global$Run.compile(Global.scala:822) | |
// at scala.tools.nsc.Main$.process(Main.scala:106) | |
// at scala.tools.nsc.Main$.main(Main.scala:120) | |
// 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