sun@sun-laptop:/mnt/data-local/Work/Workspace/dev/miniboxing-plugin/sandbox(wip)$ cat mb_library_6.scala
package miniboxing.tests.compile.library6
import miniboxing.plugin.minispec
package A {
trait Iterator[@minispec +A]
}
package B {
trait Iterator[@minispec +A]
}
class Iterator[@minispec +A] extends A.Iterator[A] with B.Iterator[A]
sun@sun-laptop:/mnt/data-local/Work/Workspace/dev/miniboxing-plugin/sandbox(wip)$ ../mb-scalac mb_library_6.scala
Picked up _JAVA_OPTIONS: -Xms2g -Xmx2g -Xss4m -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=256m -XX:+UseParallelGC -XX:PermSize=256m -XX:+TieredCompilation -XX:+UseNUMA
TREE:
class Iterator_J[Asp >: Nothing <: Any] extends Object with miniboxing.tests.compile.library6.A.Iterator_J[Asp] with miniboxing.tests.compile.library6.B.Iterator_J[Asp] with miniboxing.tests.compile.library6.Iterator[Asp]
error:
while compiling: mb_library_6.scala
during phase: minibox
library version: version 2.10.3-20130708-163611-504b5f3b15
compiler version: version 2.10.3-20130708-163611-504b5f3b15
reconstructed args: -bootclasspath /home/sun/workspace/dev/miniboxing-plugin//components/runtime/target/scala-2.10/miniboxing-runtime_2.10-0.1-SNAPSHOT.jar:/home/sun/workspace/dev/miniboxing-plugin//components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar -Xplugin:/home/sun/workspace/dev/miniboxing-plugin//components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar
last tree to typer: TypeTree(trait Iterator)
symbol: trait Iterator in package library6 (flags: abstract <trait>)
symbol definition: abstract trait Iterator[+A] extends Iterator[A] with Iterator[A]
tpe: miniboxing.tests.compile.library6.Iterator[Asp]
symbol owners: trait Iterator -> package library6
context owners: class Iterator_J -> package library6
== Enclosing template or block ==
Template( // val <local Iterator_J>: <notype> in class Iterator_J
"java.lang.Object", "miniboxing.tests.compile.library6.A.Iterator_J", "miniboxing.tests.compile.library6.B.Iterator_J", "miniboxing.tests.compile.library6.Iterator" // parents
ValDef(
private
"_"
<tpt>
<empty>
)
{}
)
== Expanded type of tree ==
TypeRef(
TypeSymbol(
abstract trait Iterator[+A] extends Iterator[A] with Iterator[A]
)
args = List(TypeParamTypeRef(TypeParam(+Asp)))
)
uncaught exception during compilation: scala.reflect.internal.Types$TypeError
error: scala.reflect.internal.Types$TypeError: method Iterator_A_TypeTag is defined twice
conflicting symbols both originated in file '/mnt/data-local/Work/Workspace/dev/miniboxing-plugin/sandbox/mb_library_6.scala'
at scala.tools.nsc.typechecker.Contexts$Context.issueCommon(Contexts.scala:399)
at scala.tools.nsc.typechecker.Contexts$Context.issue(Contexts.scala:403)
at scala.tools.nsc.typechecker.ContextErrors$ErrorUtils$.issueTypeError(ContextErrors.scala:103)
at scala.tools.nsc.typechecker.ContextErrors$ErrorUtils$.issueSymbolTypeError(ContextErrors.scala:91)
at scala.tools.nsc.typechecker.ContextErrors$TyperContextErrors$TyperErrorGen$.DefDefinedTwiceError(ContextErrors.scala:676)
at scala.tools.nsc.typechecker.Typers$Typer.checkNoDoubleDefs$1(Typers.scala:2966)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3032)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1918)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1758)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5544)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5603)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5665)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2$$anonfun$1.apply(MiniboxTreeTransformation.scala:98)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2$$anonfun$1.apply(MiniboxTreeTransformation.scala:98)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2.apply(MiniboxTreeTransformation.scala:98)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2.apply(MiniboxTreeTransformation.scala:96)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2936)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer.miniboxTransform(MiniboxTreeTransformation.scala:96)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer.transform(MiniboxTreeTransformation.scala:80)
at miniboxing.plugin.Minibox$Component$$anon$1$$anonfun$1.apply(Minibox.scala:103)
at miniboxing.plugin.Minibox$Component$$anon$1$$anonfun$1.apply(Minibox.scala:103)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216)
at miniboxing.plugin.MiniboxComponent$class.afterMinibox(Minibox.scala:28)
at miniboxing.plugin.Minibox$Component$$anon$1.transform(Minibox.scala:103)
at miniboxing.plugin.Minibox$Component$$anon$1.transform(Minibox.scala:96)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:227)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:431)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
at scala.tools.nsc.Driver.doCompile(Driver.scala:33)
at scala.tools.nsc.Main$.doCompile(Main.scala:79)
at scala.tools.nsc.Driver.process(Driver.scala:54)
at scala.tools.nsc.Driver.main(Driver.scala:67)
at scala.tools.nsc.Main.main(Main.scala)
Exception in thread "main" scala.reflect.internal.Types$TypeError: method Iterator_A_TypeTag is defined twice
conflicting symbols both originated in file '/mnt/data-local/Work/Workspace/dev/miniboxing-plugin/sandbox/mb_library_6.scala'
at scala.tools.nsc.typechecker.Contexts$Context.issueCommon(Contexts.scala:399)
at scala.tools.nsc.typechecker.Contexts$Context.issue(Contexts.scala:403)
at scala.tools.nsc.typechecker.ContextErrors$ErrorUtils$.issueTypeError(ContextErrors.scala:103)
at scala.tools.nsc.typechecker.ContextErrors$ErrorUtils$.issueSymbolTypeError(ContextErrors.scala:91)
at scala.tools.nsc.typechecker.ContextErrors$TyperContextErrors$TyperErrorGen$.DefDefinedTwiceError(ContextErrors.scala:676)
at scala.tools.nsc.typechecker.Typers$Typer.checkNoDoubleDefs$1(Typers.scala:2966)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3032)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1918)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1758)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5544)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5603)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5665)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2$$anonfun$1.apply(MiniboxTreeTransformation.scala:98)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2$$anonfun$1.apply(MiniboxTreeTransformation.scala:98)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2.apply(MiniboxTreeTransformation.scala:98)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer$$anonfun$miniboxTransform$2.apply(MiniboxTreeTransformation.scala:96)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2936)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer.miniboxTransform(MiniboxTreeTransformation.scala:96)
at miniboxing.plugin.MiniboxTreeTransformation$MiniboxTreeTransformer.transform(MiniboxTreeTransformation.scala:80)
at miniboxing.plugin.Minibox$Component$$anon$1$$anonfun$1.apply(Minibox.scala:103)
at miniboxing.plugin.Minibox$Component$$anon$1$$anonfun$1.apply(Minibox.scala:103)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216)
at miniboxing.plugin.MiniboxComponent$class.afterMinibox(Minibox.scala:28)
at miniboxing.plugin.Minibox$Component$$anon$1.transform(Minibox.scala:103)
at miniboxing.plugin.Minibox$Component$$anon$1.transform(Minibox.scala:96)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:227)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:431)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
at scala.tools.nsc.Driver.doCompile(Driver.scala:33)
at scala.tools.nsc.Main$.doCompile(Main.scala:79)
at scala.tools.nsc.Driver.process(Driver.scala:54)
at scala.tools.nsc.Driver.main(Driver.scala:67)
at scala.tools.nsc.Main.main(Main.scala)