Aladdin - Scala Bugtracking
[#1268] project: compiler priority: low category: bug
submitter assigned to status date submitted
Iulian Martin open 2007-08-08 11:32:00.0
subject [contrib #716] type mismatch 2
code
// Using latest snapshot 2.5.1.12424.20070726-044547
// which has Martin's fix for an earlier type mismatch error (much appreciated)


abstract class Settings
{
}

abstract class Module
{ self =>
    type settingsType <: Settings
}

abstract class Grist
{ self =>
    type settingsType <: Settings
    type moduleType <: Module {type settingsType = self.settingsType}
    val module: moduleType
    val settings: settingsType
}

abstract class Tool
{ self =>
    type settingsType <: Settings
    type moduleType = Module { type settingsType = self.settingsType }
    type gristType = Grist { type moduleType <: self.moduleType; type settingsType <: self.settingsType }
}

abstract class TestTypeMismatch
{ self =>
    type settingsType <: Settings
    type moduleType = Module { type settingsType = self.settingsType }
    type toolType = Tool { type settingsType = self.settingsType }

    type gristType = toolType # gristType
    // internal compiler error can be avoided by using the following instead
    // type gristType = Grist { type settingsType = self.settingsType; type moduleType = self.moduleType }

    def inputGrist(tool: toolType): List[gristType] = error("bla")
    val settings: settingsType = error("bla")
    val tools: List[toolType] = error("bla")

    List[Tuple2[moduleType, settingsType]](tools.flatMap(inputGrist(_).map(grist => Tuple2(grist.module, grist.settings))): _*)
}

/*


exception when traversing ((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings))
exception when traversing TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings)))
exception when traversing final def apply(x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}): List[(grist.moduleType, grist.settingsType) forSome { val grist: TestTypeMismatch.this.gristType }] = TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings)))
exception when traversing java.lang.Object with (Tool{type settingsType = TestTypeMismatch.this.settingsType}) => List[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }] with ScalaObject {
  def this(): template $anonfun = {
    $anonfun.super.this();
    ()
  };
  final def apply(x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}): List[(grist.moduleType, grist.settingsType) forSome { val grist: TestTypeMismatch.this.gristType }] = TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings)))
}
exception when traversing @serializable final <synthetic> class $anonfun extends java.lang.Object with (Tool{type settingsType = TestTypeMismatch.this.settingsType}) => List[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }] with ScalaObject {
  def this(): template $anonfun = {
    $anonfun.super.this();
    ()
  };
  final def apply(x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}): List[(grist.moduleType, grist.settingsType) forSome { val grist: TestTypeMismatch.this.gristType }] = TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings)))
}
exception when traversing ((x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}) => TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings))))
exception when traversing TestTypeMismatch.this.tools.flatMap[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}) => TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings)))))
exception when traversing scala.List.apply[(Module{type settingsType = TestTypeMismatch.this.settingsType}, TestTypeMismatch.this.settingsType)]((TestTypeMismatch.this.tools.flatMap[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}) => TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings))))): _*))
exception when traversing java.lang.Object with ScalaObject { self => 
  def this(): TestTypeMismatch = {
    TestTypeMismatch.super.this();
    ()
  };
  type settingsType>: Nothing <: Settings;
  type moduleType = Module{type settingsType = TestTypeMismatch.this.settingsType};
  type toolType = Tool{type settingsType = TestTypeMismatch.this.settingsType};
  type gristType = Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType};
  def inputGrist(tool: Tool{type settingsType = TestTypeMismatch.this.settingsType}): List[TestTypeMismatch.this.gristType] = scala.this.Predef.error("bla");
  private[this] val settings: TestTypeMismatch.this.settingsType = scala.this.Predef.error("bla");
  <stable> <accessor> def settings: TestTypeMismatch.this.settingsType = TestTypeMismatch.this.settings;
  private[this] val tools: List[TestTypeMismatch.this.toolType] = scala.this.Predef.error("bla");
  <stable> <accessor> def tools: List[TestTypeMismatch.this.toolType] = TestTypeMismatch.this.tools;
  scala.List.apply[(Module{type settingsType = TestTypeMismatch.this.settingsType}, TestTypeMismatch.this.settingsType)]((TestTypeMismatch.this.tools.flatMap[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}) => TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings))))): _*))
}
exception when traversing abstract class TestTypeMismatch extends java.lang.Object with ScalaObject { self => 
  def this(): TestTypeMismatch = {
    TestTypeMismatch.super.this();
    ()
  };
  type settingsType>: Nothing <: Settings;
  type moduleType = Module{type settingsType = TestTypeMismatch.this.settingsType};
  type toolType = Tool{type settingsType = TestTypeMismatch.this.settingsType};
  type gristType = Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType};
  def inputGrist(tool: Tool{type settingsType = TestTypeMismatch.this.settingsType}): List[TestTypeMismatch.this.gristType] = scala.this.Predef.error("bla");
  private[this] val settings: TestTypeMismatch.this.settingsType = scala.this.Predef.error("bla");
  <stable> <accessor> def settings: TestTypeMismatch.this.settingsType = TestTypeMismatch.this.settings;
  private[this] val tools: List[TestTypeMismatch.this.toolType] = scala.this.Predef.error("bla");
  <stable> <accessor> def tools: List[TestTypeMismatch.this.toolType] = TestTypeMismatch.this.tools;
  scala.List.apply[(Module{type settingsType = TestTypeMismatch.this.settingsType}, TestTypeMismatch.this.settingsType)]((TestTypeMismatch.this.tools.flatMap[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}) => TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings))))): _*))
}
exception when traversing package <empty> {
  abstract class Settings extends java.lang.Object with ScalaObject {
    def this(): Settings = {
      Settings.super.this();
      ()
    }
  };
  abstract class Module extends java.lang.Object with ScalaObject { self => 
    def this(): Module = {
      Module.super.this();
      ()
    };
    type settingsType>: Nothing <: Settings
  };
  abstract class Grist extends java.lang.Object with ScalaObject { self => 
    def this(): Grist = {
      Grist.super.this();
      ()
    };
    type settingsType>: Nothing <: Settings;
    type moduleType>: Nothing <: Module{type settingsType = Grist.this.settingsType};
    <stable> <accessor> def module: Grist.this.moduleType;
    <stable> <accessor> def settings: Grist.this.settingsType
  };
  abstract class Tool extends java.lang.Object with ScalaObject { self => 
    def this(): Tool = {
      Tool.super.this();
      ()
    };
    type settingsType>: Nothing <: Settings;
    type moduleType = Module{type settingsType = Tool.this.settingsType};
    type gristType = Grist{type moduleType <: Module{type settingsType = Tool.this.settingsType}; type settingsType <: Tool.this.settingsType}
  };
  abstract class TestTypeMismatch extends java.lang.Object with ScalaObject { self => 
    def this(): TestTypeMismatch = {
      TestTypeMismatch.super.this();
      ()
    };
    type settingsType>: Nothing <: Settings;
    type moduleType = Module{type settingsType = TestTypeMismatch.this.settingsType};
    type toolType = Tool{type settingsType = TestTypeMismatch.this.settingsType};
    type gristType = Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType};
    def inputGrist(tool: Tool{type settingsType = TestTypeMismatch.this.settingsType}): List[TestTypeMismatch.this.gristType] = scala.this.Predef.error("bla");
    private[this] val settings: TestTypeMismatch.this.settingsType = scala.this.Predef.error("bla");
    <stable> <accessor> def settings: TestTypeMismatch.this.settingsType = TestTypeMismatch.this.settings;
    private[this] val tools: List[TestTypeMismatch.this.toolType] = scala.this.Predef.error("bla");
    <stable> <accessor> def tools: List[TestTypeMismatch.this.toolType] = TestTypeMismatch.this.tools;
    scala.List.apply[(Module{type settingsType = TestTypeMismatch.this.settingsType}, TestTypeMismatch.this.settingsType)]((TestTypeMismatch.this.tools.flatMap[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((x$0: Tool{type settingsType = TestTypeMismatch.this.settingsType}) => TestTypeMismatch.this.inputGrist(x$0).map[(grist.moduleType, grist.settingsType) forSome { val grist: Grist{type moduleType <: Module{type settingsType = TestTypeMismatch.this.settingsType}; type settingsType <: TestTypeMismatch.this.settingsType} }](((grist: TestTypeMismatch.this.gristType) => new (grist.moduleType, grist.settingsType)(grist.module, grist.settings))))): _*))
  }
}
Exception in thread "main" scala.tools.nsc.symtab.Types$TypeError: type mismatch;
 found   : (grist.moduleType(in <refinement>), grist.settingsType(in <refinement>))
 required: (grist.moduleType(in <refinement>), grist.settingsType(in <refinement>)) forSome { val grist: TestTypeMismatch.this.gristType }
	at scala.tools.nsc.typechecker.Contexts$Context.error(Contexts.scala:283)
	at scala.tools.nsc.typechecker.Infer$Inferencer.error(Infer.scala:218)
	at scala.tools.nsc.typechecker.Infer$Inferencer.typeError(Infer.scala:228)
	at scala.tools.nsc.typechecker.Infer$Inferencer.typeErrorTree(Infer.scala:234)
	at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:770)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2877)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2919)
	at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:2968)
	at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1215)
	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:2620)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2875)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2908)
	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$0(Typers.scala:1431)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$56.apply(Typers.scala:1461)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$56.apply(Typers.scala:1461)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1461)
	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1101)
	at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:988)
	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:2611)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2875)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2908)
	at scala.tools.nsc.typechecker.Typers$Typer.typedStat$0(Typers.scala:1431)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$56.apply(Typers.scala:1461)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$56.apply(Typers.scala:1461)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:1461)
	at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1282)
	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:2638)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2875)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:2908)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transformFunction(UnCurry.scala:306)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:466)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$27.apply(Trees.scala:1309)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$27.apply(Trees.scala:1309)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformTrees(Trees.scala:1309)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$13.apply(UnCurry.scala:435)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$13.apply(UnCurry.scala:433)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$0(UnCurry.scala:364)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:433)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$24.apply(Trees.scala:1222)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$24.apply(Trees.scala:1221)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1220)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:394)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$5.apply(UnCurry.scala:394)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$5.apply(UnCurry.scala:380)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$0(UnCurry.scala:364)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:379)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1327)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1325)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:1325)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1237)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:44)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:44)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:44)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:394)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$16.apply(UnCurry.scala:469)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$16.apply(UnCurry.scala:469)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withInConstructorFlag$0(UnCurry.scala:372)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:469)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:1311)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$21.apply(Trees.scala:1209)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$21.apply(Trees.scala:1209)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1208)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:472)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1327)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1325)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:1325)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1239)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:472)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:466)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$27.apply(Trees.scala:1309)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$27.apply(Trees.scala:1309)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformTrees(Trees.scala:1309)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$13.apply(UnCurry.scala:435)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$13.apply(UnCurry.scala:433)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$0(UnCurry.scala:364)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:433)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$27.apply(Trees.scala:1309)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$27.apply(Trees.scala:1309)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformTrees(Trees.scala:1309)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$13.apply(UnCurry.scala:435)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$13.apply(UnCurry.scala:433)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$0(UnCurry.scala:364)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:433)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33$$anonfun$34.apply(Trees.scala:1326)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33$$anonfun$34.apply(Trees.scala:1326)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1326)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1325)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:1325)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1237)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:44)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:44)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:44)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:394)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$16.apply(UnCurry.scala:469)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$16.apply(UnCurry.scala:469)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withInConstructorFlag$0(UnCurry.scala:372)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:469)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:1311)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$21.apply(Trees.scala:1209)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$21.apply(Trees.scala:1209)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1208)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:472)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1327)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$33.apply(Trees.scala:1325)
	at scala.List$.loop$0(List.scala:244)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.List$.loop$0(List.scala:248)
	at scala.List$.mapConserve(List.scala:261)
	at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:1325)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$20.apply(Trees.scala:1205)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$20.apply(Trees.scala:1205)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1333)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:33)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:27)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1204)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:472)
	at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:106)
	at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:1328)
	at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
	at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:258)
	at scala.tools.nsc.Global$GlobalPhase$$anonfun$2.apply(Global.scala:247)
	at scala.tools.nsc.Global$GlobalPhase$$anonfun$2.apply(Global.scala:247)
	at scala.Iterator$class.foreach(Iterator.scala:375)
	at scala.collection.mutable.ListBuffer$$anon$0.foreach(ListBuffer.scala:255)
	at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:247)
	at scala.tools.nsc.Global$Run.compileSources(Global.scala:542)
	at scala.tools.nsc.Global$Run.compile(Global.scala:623)
	at scala.tools.nsc.Main$.process(Main.scala:86)
	at scala.tools.nsc.Main$.main(Main.scala:107)
	at scala.tools.nsc.Main.main(Main.scala)



*/
what happened
compilation exception  Types$TypeError: type mismatch
what expected simple error message or successful compilation (we have successful compilation with 2.5.1-final)
[back to overview]
Changes of this bug report
Iulian  edited on  2007-08-08 11:32:30.0