-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix #1771: Harden namer in the presence of double definitions
i1771.scala exhibits a case where an inner class is a double definition of a type parameter. The inner class then gets renamed, but this caused problems for the generation of companion links. Companion links are fixed in Namer. There is also a change in Typer, where a missing OriginalSymbol caused a crash. It turned out this was caused by the companion link generation so once the latter was fixed, the crash did not happen anymore. Nevertheless I feel it's more prudent to turn the crash into a "this should not happen" error, because we might have overlooked other error paths that also lead to missing OriginalSymbols.
- Loading branch information
Showing
3 changed files
with
18 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
class GBTree[B] { | ||
class Tree[A, B]; class Node[A, B](value: Node[A, B]) extends Tree[A, B] | ||
case class B[A, B]() extends Tree[A, B] | ||
} |