summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-02-12 22:58:12 +0100
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2014-02-12 22:58:12 +0100
commit2240464dea5b13a487938f66878e3e84b180376a (patch)
tree20e468177f5b6521618a94f7ec108252b8a4652e
parent3aec42f2b052542c6265d8b57200b61394742633 (diff)
parent2d4d2d3f26e66cc1be6dc32ff37ba889bd4c8d0a (diff)
downloadscala-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.check11
-rw-r--r--test/files/neg/name-lookup-stable.scala20
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
+ }
+}
+