| [#1042] | project: compiler | priority: low | category: bug | |
|---|---|---|---|---|
| submitter | assigned to | status | date submitted | |
| Adriaan | Martin | fixed | 2007-04-12 10:15:49.0 | |
| subject | toString not generated in case class if overloaded version exists | |||
| code |
abstract class A {
override def toString(): String // crucial
def toString(sb: StringBuilder): StringBuilder // crucial
}
case class B extends A {
// overloaded version is implemented, causing toString not to be implemented?
def toString(sb: StringBuilder): StringBuilder = error("")
}
object Test extends Application {
Console.println(B)
} |
|||
| what happened | |
|||
| what expected | either B gets a generated toString method or it is flagged as abstract (imo, it comes to down to what the semantics are for the abstract override for toString in A --> does this mean a subclass has to implement it explicitly?) | |||
| [back to overview] | ||||
| Adriaan edited on 2007-04-12 11:27:23.0 |
| originally reported as a bug in the xml library, but Burak rightfully noted that it's really a compiler bug |
| Martin edited on 2007-04-12 15:25:57.0 |