diff options
author | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-03-12 22:44:33 +0100 |
---|---|---|
committer | Samuel Gruetter <samuel.gruetter@epfl.ch> | 2014-03-12 22:44:33 +0100 |
commit | 9ef5f6817688f814a3450126aa7383b0928e80a0 (patch) | |
tree | 5727a2f7f7fd665cefdb312af2785c692f04377c /tests/untried/neg/structural.check | |
parent | 194be919664447631ba55446eb4874979c908d27 (diff) | |
download | dotty-9ef5f6817688f814a3450126aa7383b0928e80a0.tar.gz dotty-9ef5f6817688f814a3450126aa7383b0928e80a0.tar.bz2 dotty-9ef5f6817688f814a3450126aa7383b0928e80a0.zip |
add tests from scala/test/files/{pos,neg}
with explicit Unit return type
Diffstat (limited to 'tests/untried/neg/structural.check')
-rw-r--r-- | tests/untried/neg/structural.check | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/untried/neg/structural.check b/tests/untried/neg/structural.check new file mode 100644 index 000000000..5b2f352a7 --- /dev/null +++ b/tests/untried/neg/structural.check @@ -0,0 +1,28 @@ +structural.scala:47: error: Parameter type in structural refinement may not refer to the type of that refinement (self type) + val s1 = new { def f(p: this.type): Unit = () } + ^ +structural.scala:10: error: Parameter type in structural refinement may not refer to an abstract type defined outside that refinement + def f1[C <: Object](x: Object{ type D <: Object; def m[E >: Null <: Object](x: A): Object; val x: A }) = x.m[Tata](x.x) //fail + ^ +structural.scala:11: error: Parameter type in structural refinement may not refer to an abstract type defined outside that refinement + def f2[C <: Object](x: Object{ type D <: Object; def m[E >: Null <: Object](x: B): Object; val x: B }) = x.m[Tata](x.x) //fail + ^ +structural.scala:12: error: Parameter type in structural refinement may not refer to an abstract type defined outside that refinement + def f3[C <: Object](x: Object{ type D <: Object; def m[E >: Null <: Object](x: C): Object; val x: C }) = x.m[Tata](x.x) //fail + ^ +structural.scala:13: error: Parameter type in structural refinement may not refer to a type member of that refinement + def f4[C <: Object](x: Object{ type D <: Object; def m[E >: Null <: Object](x: D): Object; val x: D }) = x.m[Tata](x.x) //fail + ^ +structural.scala:42: error: Parameter type in structural refinement may not refer to an abstract type defined outside that refinement + type Summable[T] = { def +(v : T) : T } + ^ +structural.scala:46: error: Parameter type in structural refinement may not refer to the type of that refinement (self type) + type S1 = { def f(p: this.type): Unit } + ^ +structural.scala:49: error: Parameter type in structural refinement may not refer to a type member of that refinement + type S2 = { type T; def f(p: T): Unit } + ^ +structural.scala:52: error: Parameter type in structural refinement may not refer to an abstract type defined outside that refinement + def s3[U >: Null <: Object](p: { def f(p: U): Unit; def u: U }) = () + ^ +9 errors found |