diff options
author | Martin Odersky <odersky@gmail.com> | 2014-08-24 18:51:26 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-08-24 22:32:32 +0200 |
commit | b56a743edf1fe21ff1f9f070d17e4a23930e59bd (patch) | |
tree | 1da465c9bfaabade7017efb2c70078f4c3fc0780 /tests/neg | |
parent | bd8ff1720396bb61d0ef5fede8eb956df663faa5 (diff) | |
download | dotty-b56a743edf1fe21ff1f9f070d17e4a23930e59bd.tar.gz dotty-b56a743edf1fe21ff1f9f070d17e4a23930e59bd.tar.bz2 dotty-b56a743edf1fe21ff1f9f070d17e4a23930e59bd.zip |
Special context for self constructor args
Arguments to this(...) calls need a special contet,
similar to - but different from - the supercall context.
Diffstat (limited to 'tests/neg')
-rw-r--r-- | tests/neg/badAuxConstr.scala | 11 | ||||
-rw-r--r-- | tests/neg/t1131.scala | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/neg/badAuxConstr.scala b/tests/neg/badAuxConstr.scala new file mode 100644 index 000000000..8984f2306 --- /dev/null +++ b/tests/neg/badAuxConstr.scala @@ -0,0 +1,11 @@ +class A[S, T](s: S, t: T) { + val z: T = ??? +} + +class B[X](x: X) extends A[X, X](x, x) { + def this() = this(z) // error: not found: z + + val u: X = x + def this(x: Int) = this(u) // error: not found: u +} + diff --git a/tests/neg/t1131.scala b/tests/neg/t1131.scala new file mode 100644 index 000000000..f4a7b377d --- /dev/null +++ b/tests/neg/t1131.scala @@ -0,0 +1,4 @@ +trait A { self: Any { def p: Any } => + def f(b: => Unit): Unit = {} + f { p } // error: cannot access member 'p' from structural type +} |