diff options
author | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2014-02-12 22:58:12 +0100 |
---|---|---|
committer | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2014-02-12 22:58:12 +0100 |
commit | 2240464dea5b13a487938f66878e3e84b180376a (patch) | |
tree | 20e468177f5b6521618a94f7ec108252b8a4652e | |
parent | 3aec42f2b052542c6265d8b57200b61394742633 (diff) | |
parent | 2d4d2d3f26e66cc1be6dc32ff37ba889bd4c8d0a (diff) | |
download | scala-2240464dea5b13a487938f66878e3e84b180376a.tar.gz scala-2240464dea5b13a487938f66878e3e84b180376a.tar.bz2 scala-2240464dea5b13a487938f66878e3e84b180376a.zip |
Merge pull request #3515 from retronym/topic/stable-ident-ambiguous
A test case for a name binding progression
-rw-r--r-- | test/files/neg/name-lookup-stable.check | 11 | ||||
-rw-r--r-- | test/files/neg/name-lookup-stable.scala | 20 |
2 files changed, 31 insertions, 0 deletions
diff --git a/test/files/neg/name-lookup-stable.check b/test/files/neg/name-lookup-stable.check new file mode 100644 index 0000000000..751df9505e --- /dev/null +++ b/test/files/neg/name-lookup-stable.check @@ -0,0 +1,11 @@ +name-lookup-stable.scala:15: error: reference to PrimaryKey is ambiguous; +it is both defined in class A and imported subsequently by +import ColumnOption._ + (null: Any) match { case PrimaryKey => } + ^ +name-lookup-stable.scala:17: error: reference to PrimaryKey is ambiguous; +it is both defined in class A and imported subsequently by +import ColumnOption._ + PrimaryKey // was already ambigious in 2.10.3 + ^ +two errors found diff --git a/test/files/neg/name-lookup-stable.scala b/test/files/neg/name-lookup-stable.scala new file mode 100644 index 0000000000..0d862f06e1 --- /dev/null +++ b/test/files/neg/name-lookup-stable.scala @@ -0,0 +1,20 @@ +// This used to compile under 2.10.3 but the ambiguity is now noticed +// in 2.11.x (after a70c8219). I think the new behaviour is correct; +// we shouldn't discard names based on "expected stability" before +// evaluating ambiguity. +object ColumnOption { + object PrimaryKey +} + +class A { + def PrimaryKey: Any = ??? + + { + import ColumnOption._ + + (null: Any) match { case PrimaryKey => } + + PrimaryKey // was already ambigious in 2.10.3 + } +} + |