1

プロジェクトは、SBT0.11.3とScala2.9.1を使用してエラーなしでコンパイルされます。'sbtrun'を使用して問題なく実行されます。ただし、「sbtテスト」は私にこれを与えます:

$ sbt test
[info] Loading global plugins from /home/mslinn/.sbt/plugins
[info] Loading project definition from /home/mslinn/work/domain-bus/project
[info] Set current project to domainbus (in build file:/home/mslinn/work/domain-bus/)
[error] {file:/home/mslinn/work/domain-bus/}domainbus/test:compile: scala.MatchError: ?>: Nothing <: Any (of class scala.tools.nsc.symtab.Types$BoundedWildcardType)
[error] Total time: 7 s, completed May 31, 2012 1:20:46 PM

ソースコードの参照はなく、エラーだけです。これは私には何の意味もありません。Scala2.9.1-1でも同じ結果が得られます。IDEAは、2.9.1および2.9.1-1でコンパイルしようとしています。ここに追加情報があり、おそらくそれが手がかりを提供します:

Information:Compilation completed with 68 errors and 0 warnings
Information:68 errors
Information:0 warnings
Error: scala.MatchError: ?>: Nothing <: Any (of class scala.tools.nsc.symtab.Types$BoundedWildcardType)
Error:at scala.tools.nsc.typechecker.Variances$class.varianceInType(Variances.scala:67)
Error:at scala.tools.nsc.Global$analyzer$.varianceInType(Global.scala:351)
Error:at scala.tools.nsc.typechecker.Variances$$anonfun$varianceInArgs$2.apply(Variances.scala:48)
Error:at scala.tools.nsc.typechecker.Variances$$anonfun$varianceInArgs$2.apply(Variances.scala:47)
Error:at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
Error:at scala.collection.immutable.List.foreach(List.scala:45)
Error:at scala.tools.nsc.typechecker.Variances$class.varianceInArgs(Variances.scala:47)
Error:at scala.tools.nsc.Global$analyzer$.varianceInArgs(Global.scala:351)
Error:at scala.tools.nsc.typechecker.Variances$class.varianceInType(Variances.scala:74)
Error:at scala.tools.nsc.typechecker.Variances$$anonfun$varianceInTypes$1.apply(Variances.scala:40)
Error:at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
Error:at scala.collection.immutable.List.foldLeft(List.scala:45)
Error:at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:137)
Error:at scala.collection.immutable.List.$div$colon(List.scala:45)
Error:at scala.tools.nsc.typechecker.Variances$class.varianceInTypes(Variances.scala:40)
Error:at scala.tools.nsc.Global$analyzer$.varianceInTypes(Global.scala:351)
Error:at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun$protoTypeArgs$1.apply(Infer.scala:573)
Error:at scala.tools.nsc.typechecker.Infer$Inferencer$$anonfun$protoTypeArgs$1.apply(Infer.scala:572)
Error:at scala.Tuple2$Zipped$$anonfun$map$1.apply(Tuple2.scala:65)
Error:at scala.Tuple2$Zipped$$anonfun$map$1.apply(Tuple2.scala:63)
Error:at scala.Tuple2$Zipped.map(Tuple2.scala:63)
Error:at scala.tools.nsc.typechecker.Infer$Inferencer.protoTypeArgs(Infer.scala:572)
Error:at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2467)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3371)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4104)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4271)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4344)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedIf$1(Typers.scala:3158)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3987)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedCase(Typers.scala:1957)
Error:at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1975)
Error:at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedCases$1.apply(Typers.scala:1974)
Error:at scala.collection.immutable.List.loop$1(List.scala:117)
Error:at scala.collection.immutable.List.mapConserve(List.scala:133)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedCases(Typers.scala:1974)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:4003)
Error:at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:4428)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1760)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3919)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2100)
Error:at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2184)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2184)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1512)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1320)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3913)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3906)
Error:at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4331)
Error:at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:94)
Error:at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329)
Error:at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86)
Error:at scala.collection.Iterator$class.foreach(Iterator.scala:660)
Error:at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316)
Error:at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:86)
Error:at scala.tools.nsc.Global$Run.compileSources(Global.scala:953)
Error:at scala.tools.nsc.Global$Run.compile(Global.scala:1038)
Error:at scala.tools.nsc.Main$.process(Main.scala:106)
Error:at scala.tools.nsc.Main$.main(Main.scala:123)
Error:at scala.tools.nsc.Main.main(Main.scala)
Error:at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:at java.lang.reflect.Method.invoke(Method.java:597)
Error:at org.jetbrains.plugins.scala.compiler.rt.ClassRunner.main(ClassRunner.java:46)
Error:
Error:Exception in thread "main" java.lang.reflect.InvocationTargetException
Error:Caused by: scala.MatchError: ?>: Nothing <: Any (of class scala.tools.nsc.symtab.Types$BoundedWildcardType)
Error:... 5 more

提案?

マイク

4

1 に答える 1

3

OK、ここに問題の原因があります。この署名を使用して単体テストで定義されたメソッドがあり、Scala コンパイラが爆発しました。

def sendMsgs(tickEventOptions: Option[Seq[_]], broadcast: Boolean): Unit

型指定されていない Seq が問題でした。このように定義すると、コンパイラは死ななくなりました。

def sendMsgs(tickEventOptions: Option[Seq[String]], broadcast: Boolean): Unit

マイク

于 2012-05-31T20:54:57.580 に答える