summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-10-02 08:17:29 -0700
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-10-02 08:17:29 -0700
commit5ac896d7c512b7858c2558bae6b3bd95f5dd5bde (patch)
treeed1cc9067119f3a35b9e7fa4bacf28e97d6377b2 /test/files/pos
parent2c6bd830b73e9907aa710360ad45a25b5a6d63a9 (diff)
parentd892e8b3b215d39f00fbbcdb202baf5329c39815 (diff)
downloadscala-5ac896d7c512b7858c2558bae6b3bd95f5dd5bde.tar.gz
scala-5ac896d7c512b7858c2558bae6b3bd95f5dd5bde.tar.bz2
scala-5ac896d7c512b7858c2558bae6b3bd95f5dd5bde.zip
Merge pull request #1423 from paulp/issue/5130
Fix for SI-5130, precision disappearing from refinement.
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/t5130.scala46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/files/pos/t5130.scala b/test/files/pos/t5130.scala
new file mode 100644
index 0000000000..676d3c7050
--- /dev/null
+++ b/test/files/pos/t5130.scala
@@ -0,0 +1,46 @@
+import scala.language.reflectiveCalls
+
+class A {
+ this_a =>
+
+ def b = new B
+ class B { def a: this_a.type = this_a }
+}
+trait A2 { def c = () }
+
+object Test {
+ val v1 = new A { def c = () }
+ val v2 = new A with A2 { }
+ val v3: A { def c: Unit } = null
+ def d1 = new A { def c = () }
+ def d2 = new A with A2 { }
+ def d3: A { def c: Unit } = null
+ var x1 = new A { def c = () }
+ var x2 = new A with A2 { }
+ var x3: A { def c: Unit } = null
+
+ def main(args: Array[String]): Unit = {
+ val mv1 = new A { def c = () }
+ val mv2 = new A with A2 { }
+ val mv3: A { def c: Unit } = null
+ def md1 = new A { def c = () }
+ def md2 = new A with A2 { }
+ def md3: A { def c: Unit } = null
+
+ v1.b.a.c
+ v2.b.a.c
+ v3.b.a.c
+ d1.b.a.c
+ d2.b.a.c
+ d3.b.a.c
+ x1.b.a.c
+ x2.b.a.c
+ x3.b.a.c
+ mv1.b.a.c
+ mv2.b.a.c
+ mv3.b.a.c
+ md1.b.a.c
+ md2.b.a.c
+ md3.b.a.c
+ }
+}