diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-01-27 10:29:28 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-01-27 10:44:48 +0100 |
commit | 327eea839e97e1d7cac92aa9cd61e3338d12cb12 (patch) | |
tree | 27c96fc40658a947216b61fab6b6da4956c6cdbd /test/files/pos | |
parent | a5b0fc49e517d1c63d22f9909ac9bed0552ed466 (diff) | |
download | scala-327eea839e97e1d7cac92aa9cd61e3338d12cb12.tar.gz scala-327eea839e97e1d7cac92aa9cd61e3338d12cb12.tar.bz2 scala-327eea839e97e1d7cac92aa9cd61e3338d12cb12.zip |
Prohibit views targeting AnyVal
Library changes in Scala 2.10 mean that we are left with the
unfortunate situation of admitting:
scala> "": AnyVal
res0: AnyVal =
We already have explicit checks in place to prevent views
targeting `AnyRef`. This commit balances this out by prohibiting
`AnyVal`, as well.
The enclosed test shows that this case is now prevented. If multiple
implicits views are applicable, the ambiguity error is still raised;
these check comes right at the end. Maybe that ought to be changed,
but I don't think it matters too much.
I've also disabled this prohibition under -Xsource:2.10.
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/implicit-anyval-2.10.flags | 1 | ||||
-rw-r--r-- | test/files/pos/implicit-anyval-2.10.scala | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/test/files/pos/implicit-anyval-2.10.flags b/test/files/pos/implicit-anyval-2.10.flags new file mode 100644 index 0000000000..94c8056747 --- /dev/null +++ b/test/files/pos/implicit-anyval-2.10.flags @@ -0,0 +1 @@ +-Xsource:2.10 diff --git a/test/files/pos/implicit-anyval-2.10.scala b/test/files/pos/implicit-anyval-2.10.scala new file mode 100644 index 0000000000..3082af73b8 --- /dev/null +++ b/test/files/pos/implicit-anyval-2.10.scala @@ -0,0 +1,3 @@ +object Test { + "": AnyVal // newly prohibited in 2.11, allowed under -Xsourse:2.10 +}
\ No newline at end of file |