You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
=== What steps will reproduce the problem (please be specific and use wikiformatting)? ===
Compile the following code:
traitA {
classBcaseobjectDextendsBclassC {
varx:B=Ddefy=synchronized {
x match {
caseD=> {}
}
}
}
}
=== What is the expected behavior? ===
Successful compilation.
(Succeeds under 2.8.)
=== What do you see instead? ===
exception when typing if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
exception when typing {
<synthetic> valtemp2:A#B=C.this.x();
if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
}
exception when typing C.this.synchronized({
<synthetic> valtemp2:A#B=C.this.x();
if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
})
exception when typing defy():Unit=C.this.synchronized({
<synthetic> valtemp2:A#B=C.this.x();
if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
})
exception when typing classCextends java.lang.ObjectwithScalaObject {
defthis($$outer: A):A#C= {
C.super.this();
()
};
private[this] varx:A#B=C.this.A$$C$$$$$$outer().D();
<accessor> defx():A#B=C.this.x;
<accessor> defx_=(x$$1: A#B):Unit=C.this.x = x$$1;
defy():Unit=C.this.synchronized({
<synthetic> valtemp2:A#B=C.this.x();
if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
});
protected <synthetic> <paramaccessor> val$$outer:A= _;
<synthetic> <stable> defA$$C$$$$$$outer():A=C.this.$$outer
}
exception when typing abstracttraitAextends java.lang.ObjectwithScalaObject {
classBextends java.lang.ObjectwithScalaObject {
defthis($$outer: A):A#B= {
B.super.this();
()
};
protected <synthetic> <paramaccessor> val$$outer:A= _;
<synthetic> <stable> defA$$B$$$$$$outer():A=B.this.$$outer
};
finalcaseobjectDextendsA#BwithScalaObjectwithProductwithSerializable {
defthis($$outer: A):objectA#D= {
D.super.this($$outer);
D.this./*Product$$class*/$$init$$();
()
};
finaloverridedeftoString(): java.lang.String="D";
overridedefproductPrefix(): java.lang.String="D";
overridedefproductArity():Int=0;
overridedefproductElement(x$$1: Int): java.lang.Object= {
<synthetic> valtemp1:Int= x$$1;
{
thrownew java.lang.IndexOutOfBoundsException(x$$1.toString())
}
};
overridedefcanEqual(x$$1: java.lang.Object):Boolean= x$$1.$$isInstanceOf[objectA#D]();
<synthetic> <stable> defA$$D$$$$$$outer():A=D.this.$$outer
};
finalcase <stable> defD():objectA#D;
classCextends java.lang.ObjectwithScalaObject {
defthis($$outer: A):A#C= {
C.super.this();
()
};
private[this] varx:A#B=C.this.A$$C$$$$$$outer().D();
<accessor> defx():A#B=C.this.x;
<accessor> defx_=(x$$1: A#B):Unit=C.this.x = x$$1;
defy():Unit=C.this.synchronized({
<synthetic> valtemp2:A#B=C.this.x();
if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
});
protected <synthetic> <paramaccessor> val$$outer:A= _;
<synthetic> <stable> defA$$C$$$$$$outer():A=C.this.$$outer
}
}
exception when typing package<empty> {
abstracttraitAextends java.lang.ObjectwithScalaObject {
classBextends java.lang.ObjectwithScalaObject {
defthis($$outer: A):A#B= {
B.super.this();
()
};
protected <synthetic> <paramaccessor> val$$outer:A= _;
<synthetic> <stable> defA$$B$$$$$$outer():A=B.this.$$outer
};
finalcaseobjectDextendsA#BwithScalaObjectwithProductwithSerializable {
defthis($$outer: A):objectA#D= {
D.super.this($$outer);
D.this./*Product$$class*/$$init$$();
()
};
finaloverridedeftoString(): java.lang.String="D";
overridedefproductPrefix(): java.lang.String="D";
overridedefproductArity():Int=0;
overridedefproductElement(x$$1: Int): java.lang.Object= {
<synthetic> valtemp1:Int= x$$1;
{
thrownew java.lang.IndexOutOfBoundsException(x$$1.toString())
}
};
overridedefcanEqual(x$$1: java.lang.Object):Boolean= x$$1.$$isInstanceOf[objectA#D]();
<synthetic> <stable> defA$$D$$$$$$outer():A=D.this.$$outer
};
finalcase <stable> defD():objectA#D;
classCextends java.lang.ObjectwithScalaObject {
defthis($$outer: A):A#C= {
C.super.this();
()
};
private[this] varx:A#B=C.this.A$$C$$$$$$outer().D();
<accessor> defx():A#B=C.this.x;
<accessor> defx_=(x$$1: A#B):Unit=C.this.x = x$$1;
defy():Unit=C.this.synchronized({
<synthetic> valtemp2:A#B=C.this.x();
if (C.this.A$$C$$$$$$outer().D().==(temp2))
{
()
}
else
fail%1(){
thrownewMatchError(temp2)
}
});
protected <synthetic> <paramaccessor> val$$outer:A= _;
<synthetic> <stable> defA$$C$$$$$$outer():A=C.this.$$outer
}
};
abstracttraitA$$classextends java.lang.ObjectwithScalaObjectwithA {
def/*A$$class*/$$init$$():Unit= {
()
};
@volatile <local> <synthetic> varA$$$$D$$module:objectA#D= _;
finalcase <stable> defD():objectA#D=newobjectA#D(A$$class.this)
}
}
error: java.util.NoSuchElementException: key not found: traitNothing
at scala.collection.MapLike$$class.default(MapLike.scala:224)
at scala.collection.immutable.HashMap.default(HashMap.scala:36)
at scala.collection.MapLike$$class.apply(MapLike.scala:135)
at scala.collection.immutable.HashMap.apply(HashMap.scala:36)
at scala.tools.nsc.transform.Erasure$$Eraser.box(Erasure.scala:545)
at scala.tools.nsc.transform.Erasure$$Eraser.box(Erasure.scala:525)
at scala.tools.nsc.transform.Erasure$$Eraser.adaptToType(Erasure.scala:597)
at scala.tools.nsc.transform.Erasure$$Eraser.adapt(Erasure.scala:679)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4219)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4276)
at scala.tools.nsc.typechecker.Typers$$Typer.typedIf$$1(Typers.scala:3146)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3942)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedBlock(Typers.scala:1914)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3906)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedArg(Typers.scala:2185)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$typedArgs$$3.apply(Typers.scala:2198)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$typedArgs$$3.apply(Typers.scala:2197)
at scala.Tuple3$$Zipped$$$$anonfun$$map$$1.apply(Tuple3.scala:66)
at scala.Tuple3$$Zipped$$$$anonfun$$map$$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$$Typer.typedArgs(Typers.scala:2197)
at scala.tools.nsc.typechecker.Typers$$Typer.doTypedApply(Typers.scala:2415)
at scala.tools.nsc.typechecker.Typers$$Typer.typedApply$$1(Typers.scala:3344)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:4059)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.transformedOrTyped(Typers.scala:4360)
at scala.tools.nsc.typechecker.Typers$$Typer.typedDefDef(Typers.scala:1754)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3874)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:2094)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.collection.immutable.List.loop$$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer.typedTemplate(Typers.scala:1506)
at scala.tools.nsc.typechecker.Typers$$Typer.typedClassDef(Typers.scala:1271)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3865)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:2094)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.collection.immutable.List.loop$$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer.typedTemplate(Typers.scala:1506)
at scala.tools.nsc.typechecker.Typers$$Typer.typedClassDef(Typers.scala:1271)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3865)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:2094)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.collection.immutable.List.loop$$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3861)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4263)
at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$transform$$1.apply(Erasure.scala:1120)
at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$transform$$1.apply(Erasure.scala:1115)
at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:96)
at scala.tools.nsc.transform.Erasure$$ErasureTransformer.transform(Erasure.scala:1115)
at scala.tools.nsc.ast.Trees$$Transformer.transformUnit(Trees.scala:892)
at scala.tools.nsc.transform.Transform$$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:326)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:326)
at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:47)
at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:326)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294)
at scala.collection.Iterator$$class.foreach(Iterator.scala:652)
at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:311)
at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:294)
at scala.tools.nsc.Global$$Run.compileSources(Global.scala:949)
at scala.tools.nsc.Global$$Run.compile(Global.scala:1034)
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.util.NoSuchElementException: key not found: traitNothing
at scala.collection.MapLike$$class.default(MapLike.scala:224)
at scala.collection.immutable.HashMap.default(HashMap.scala:36)
at scala.collection.MapLike$$class.apply(MapLike.scala:135)
at scala.collection.immutable.HashMap.apply(HashMap.scala:36)
at scala.tools.nsc.transform.Erasure$$Eraser.box(Erasure.scala:545)
at scala.tools.nsc.transform.Erasure$$Eraser.box(Erasure.scala:525)
at scala.tools.nsc.transform.Erasure$$Eraser.adaptToType(Erasure.scala:597)
at scala.tools.nsc.transform.Erasure$$Eraser.adapt(Erasure.scala:679)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4219)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4276)
at scala.tools.nsc.typechecker.Typers$$Typer.typedIf$$1(Typers.scala:3146)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3942)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedBlock(Typers.scala:1914)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3906)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedArg(Typers.scala:2185)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$typedArgs$$3.apply(Typers.scala:2198)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$typedArgs$$3.apply(Typers.scala:2197)
at scala.Tuple3$$Zipped$$$$anonfun$$map$$1.apply(Tuple3.scala:66)
at scala.Tuple3$$Zipped$$$$anonfun$$map$$1.apply(Tuple3.scala:64)
at scala.collection.LinearSeqOptimized$$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple3$$Zipped.map(Tuple3.scala:64)
at scala.tools.nsc.typechecker.Typers$$Typer.typedArgs(Typers.scala:2197)
at scala.tools.nsc.typechecker.Typers$$Typer.doTypedApply(Typers.scala:2415)
at scala.tools.nsc.typechecker.Typers$$Typer.typedApply$$1(Typers.scala:3344)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:4059)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.transformedOrTyped(Typers.scala:4360)
at scala.tools.nsc.typechecker.Typers$$Typer.typedDefDef(Typers.scala:1754)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3874)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:2094)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.collection.immutable.List.loop$$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer.typedTemplate(Typers.scala:1506)
at scala.tools.nsc.typechecker.Typers$$Typer.typedClassDef(Typers.scala:1271)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3865)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:2094)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.collection.immutable.List.loop$$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer.typedTemplate(Typers.scala:1506)
at scala.tools.nsc.typechecker.Typers$$Typer.typedClassDef(Typers.scala:1271)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3865)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStat$$1(Typers.scala:2094)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer$$$$anonfun$$24.apply(Typers.scala:2178)
at scala.collection.immutable.List.loop$$1(List.scala:117)
at scala.collection.immutable.List.mapConserve(List.scala:133)
at scala.tools.nsc.typechecker.Typers$$Typer.typedStats(Typers.scala:2178)
at scala.tools.nsc.typechecker.Typers$$Typer.typed1(Typers.scala:3861)
at scala.tools.nsc.transform.Erasure$$Eraser.typed1(Erasure.scala:685)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4214)
at scala.tools.nsc.typechecker.Typers$$Typer.typed(Typers.scala:4263)
at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$transform$$1.apply(Erasure.scala:1120)
at scala.tools.nsc.transform.Erasure$$ErasureTransformer$$$$anonfun$$transform$$1.apply(Erasure.scala:1115)
at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:96)
at scala.tools.nsc.transform.Erasure$$ErasureTransformer.transform(Erasure.scala:1115)
at scala.tools.nsc.ast.Trees$$Transformer.transformUnit(Trees.scala:892)
at scala.tools.nsc.transform.Transform$$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:326)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$applyPhase$$1.apply(Global.scala:326)
at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:47)
at scala.tools.nsc.Global$$GlobalPhase.applyPhase(Global.scala:326)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294)
at scala.tools.nsc.Global$$GlobalPhase$$$$anonfun$$run$$1.apply(Global.scala:294)
at scala.collection.Iterator$$class.foreach(Iterator.scala:652)
at scala.collection.mutable.ListBuffer$$$$anon$$1.foreach(ListBuffer.scala:311)
at scala.tools.nsc.Global$$GlobalPhase.run(Global.scala:294)
at scala.tools.nsc.Global$$Run.compileSources(Global.scala:949)
at scala.tools.nsc.Global$$Run.compile(Global.scala:1034)
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)
=== What versions of the following are you using? ===
Scala: 2.9.0.final
Java: 1.6.0_24
Operating system: Mac OS X 10.6.7 (10J869)
The text was updated successfully, but these errors were encountered:
=== What steps will reproduce the problem (please be specific and use wikiformatting)? ===
Compile the following code:
=== What is the expected behavior? ===
Successful compilation.
(Succeeds under 2.8.)
=== What do you see instead? ===
=== What versions of the following are you using? ===
The text was updated successfully, but these errors were encountered: