Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

typechecker throws NoSuchElementException: key not found: trait Nothing #4593

Closed
scabug opened this issue May 15, 2011 · 4 comments
Closed
Assignees

Comments

@scabug
Copy link

scabug commented May 15, 2011

=== What steps will reproduce the problem (please be specific and use wikiformatting)? ===
Compile the following code:

trait A {

  class B
  case object D extends B

  class C {

    var x: B = D

    def y = synchronized {
      x match {
        case D => {}
      }
    }

  }

}

=== 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(){
    throw new MatchError(temp2)
  }
exception when typing {
  <synthetic> val temp2: A#B = C.this.x();
  if (C.this.A$$C$$$$$$outer().D().==(temp2))
    {
      ()
    }
  else
    fail%1(){
      throw new MatchError(temp2)
    }
}
exception when typing C.this.synchronized({
  <synthetic> val temp2: A#B = C.this.x();
  if (C.this.A$$C$$$$$$outer().D().==(temp2))
    {
      ()
    }
  else
    fail%1(){
      throw new MatchError(temp2)
    }
})
exception when typing def y(): Unit = C.this.synchronized({
  <synthetic> val temp2: A#B = C.this.x();
  if (C.this.A$$C$$$$$$outer().D().==(temp2))
    {
      ()
    }
  else
    fail%1(){
      throw new MatchError(temp2)
    }
})
exception when typing class C extends java.lang.Object with ScalaObject {
  def this($$outer: A): A#C = {
    C.super.this();
    ()
  };
  private[this] var x: A#B = C.this.A$$C$$$$$$outer().D();
  <accessor> def x(): A#B = C.this.x;
  <accessor> def x_=(x$$1: A#B): Unit = C.this.x = x$$1;
  def y(): Unit = C.this.synchronized({
    <synthetic> val temp2: A#B = C.this.x();
    if (C.this.A$$C$$$$$$outer().D().==(temp2))
      {
        ()
      }
    else
      fail%1(){
        throw new MatchError(temp2)
      }
  });
  protected <synthetic> <paramaccessor> val $$outer: A = _;
  <synthetic> <stable> def A$$C$$$$$$outer(): A = C.this.$$outer
}
exception when typing abstract trait A extends java.lang.Object with ScalaObject {
  class B extends java.lang.Object with ScalaObject {
    def this($$outer: A): A#B = {
      B.super.this();
      ()
    };
    protected <synthetic> <paramaccessor> val $$outer: A = _;
    <synthetic> <stable> def A$$B$$$$$$outer(): A = B.this.$$outer
  };
  final case object D extends A#B with ScalaObject with Product with Serializable {
    def this($$outer: A): object A#D = {
      D.super.this($$outer);
      D.this./*Product$$class*/$$init$$();
      ()
    };
    final override def toString(): java.lang.String = "D";
    override def productPrefix(): java.lang.String = "D";
    override def productArity(): Int = 0;
    override def productElement(x$$1: Int): java.lang.Object = {
      <synthetic> val temp1: Int = x$$1;
      {
        throw new java.lang.IndexOutOfBoundsException(x$$1.toString())
      }
    };
    override def canEqual(x$$1: java.lang.Object): Boolean = x$$1.$$isInstanceOf[object A#D]();
    <synthetic> <stable> def A$$D$$$$$$outer(): A = D.this.$$outer
  };
  final case <stable> def D(): object A#D;
  class C extends java.lang.Object with ScalaObject {
    def this($$outer: A): A#C = {
      C.super.this();
      ()
    };
    private[this] var x: A#B = C.this.A$$C$$$$$$outer().D();
    <accessor> def x(): A#B = C.this.x;
    <accessor> def x_=(x$$1: A#B): Unit = C.this.x = x$$1;
    def y(): Unit = C.this.synchronized({
      <synthetic> val temp2: A#B = C.this.x();
      if (C.this.A$$C$$$$$$outer().D().==(temp2))
        {
          ()
        }
      else
        fail%1(){
          throw new MatchError(temp2)
        }
    });
    protected <synthetic> <paramaccessor> val $$outer: A = _;
    <synthetic> <stable> def A$$C$$$$$$outer(): A = C.this.$$outer
  }
}
exception when typing package <empty> {
  abstract trait A extends java.lang.Object with ScalaObject {
    class B extends java.lang.Object with ScalaObject {
      def this($$outer: A): A#B = {
        B.super.this();
        ()
      };
      protected <synthetic> <paramaccessor> val $$outer: A = _;
      <synthetic> <stable> def A$$B$$$$$$outer(): A = B.this.$$outer
    };
    final case object D extends A#B with ScalaObject with Product with Serializable {
      def this($$outer: A): object A#D = {
        D.super.this($$outer);
        D.this./*Product$$class*/$$init$$();
        ()
      };
      final override def toString(): java.lang.String = "D";
      override def productPrefix(): java.lang.String = "D";
      override def productArity(): Int = 0;
      override def productElement(x$$1: Int): java.lang.Object = {
        <synthetic> val temp1: Int = x$$1;
        {
          throw new java.lang.IndexOutOfBoundsException(x$$1.toString())
        }
      };
      override def canEqual(x$$1: java.lang.Object): Boolean = x$$1.$$isInstanceOf[object A#D]();
      <synthetic> <stable> def A$$D$$$$$$outer(): A = D.this.$$outer
    };
    final case <stable> def D(): object A#D;
    class C extends java.lang.Object with ScalaObject {
      def this($$outer: A): A#C = {
        C.super.this();
        ()
      };
      private[this] var x: A#B = C.this.A$$C$$$$$$outer().D();
      <accessor> def x(): A#B = C.this.x;
      <accessor> def x_=(x$$1: A#B): Unit = C.this.x = x$$1;
      def y(): Unit = C.this.synchronized({
        <synthetic> val temp2: A#B = C.this.x();
        if (C.this.A$$C$$$$$$outer().D().==(temp2))
          {
            ()
          }
        else
          fail%1(){
            throw new MatchError(temp2)
          }
      });
      protected <synthetic> <paramaccessor> val $$outer: A = _;
      <synthetic> <stable> def A$$C$$$$$$outer(): A = C.this.$$outer
    }
  };
  abstract trait A$$class extends java.lang.Object with ScalaObject with A {
    def /*A$$class*/$$init$$(): Unit = {
      ()
    };
    @volatile <local> <synthetic> var A$$$$D$$module: object A#D = _;
    final case <stable> def D(): object A#D = new object A#D(A$$class.this)
  }
}
error: java.util.NoSuchElementException: key not found: trait Nothing
	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: trait Nothing
	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)
@scabug
Copy link
Author

scabug commented May 15, 2011

Imported From: https://issues.scala-lang.org/browse/SI-4593?orig=1
Reporter: John Thywissen (jthywiss)

@scabug
Copy link
Author

scabug commented May 15, 2011

John Thywissen (jthywiss) said:
Work around (in the few cases we've hit this bug) is as simple as re-arranging the cases in the match.

@scabug
Copy link
Author

scabug commented May 17, 2011

@dragos said:
(In r24986) Fixed #4593. Don't box Nothing types. review by extempore, odersky.

@scabug
Copy link
Author

scabug commented May 17, 2011

@harrah said:
I assume this was intended to be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants