diff options
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/t1503.check | 8 | ||||
-rw-r--r-- | test/files/neg/t1503.flags | 1 | ||||
-rw-r--r-- | test/files/neg/t1503.scala | 8 |
3 files changed, 17 insertions, 0 deletions
diff --git a/test/files/neg/t1503.check b/test/files/neg/t1503.check new file mode 100644 index 0000000000..7adeea20f3 --- /dev/null +++ b/test/files/neg/t1503.check @@ -0,0 +1,8 @@ +t1503.scala:7: warning: The value matched by Whatever is bound to n, which may be used under the +unsound assumption that it has type Whatever.type, whereas we can only safely +count on it having type Any, as the pattern is matched using `==` (see SI-1503). + def matchWhateverCCE(x: Any) = x match { case n @ Whatever => n } + ^ +error: No warnings can be incurred under -Xfatal-warnings. +one warning found +one error found diff --git a/test/files/neg/t1503.flags b/test/files/neg/t1503.flags new file mode 100644 index 0000000000..e93641e931 --- /dev/null +++ b/test/files/neg/t1503.flags @@ -0,0 +1 @@ +-Xlint -Xfatal-warnings
\ No newline at end of file diff --git a/test/files/neg/t1503.scala b/test/files/neg/t1503.scala new file mode 100644 index 0000000000..9877f99d0a --- /dev/null +++ b/test/files/neg/t1503.scala @@ -0,0 +1,8 @@ +object Whatever { + override def equals(x: Any) = true +} + +class Test { + // when left to its own devices, and not under -Xfuture, the return type is Whatever.type + def matchWhateverCCE(x: Any) = x match { case n @ Whatever => n } +}
\ No newline at end of file |