summaryrefslogtreecommitdiff
path: root/test/files/neg/t7783.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-08-26 20:06:25 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-09-27 09:26:13 +0200
commit2ccbfa57783270049105b8c171d69159d54e578c (patch)
tree6beeddb44701335f15c1660e959319cd62316feb /test/files/neg/t7783.scala
parentf0ca5aec4c575fe297adcd3e2b16018fff4a0639 (diff)
downloadscala-2ccbfa57783270049105b8c171d69159d54e578c.tar.gz
scala-2ccbfa57783270049105b8c171d69159d54e578c.tar.bz2
scala-2ccbfa57783270049105b8c171d69159d54e578c.zip
SI-7783 Don't issue deprecation warnings for inferred TypeTrees
Deprecation checks in RefChecks were looking into all TypeTrees to find references to deprecated type aliases. However, when the compiler infers a type argument or type of a member it creates a TypeTree (with a null original) that was also leading to warnings. I ran into this problem often when upgrading a build from SBT 0.12 to 0.13: a plugin I was using used the deprecated type alias, and I suffered transitively when I used methods from its API. This commit disables the checks for inferred TypeTree-s.
Diffstat (limited to 'test/files/neg/t7783.scala')
-rw-r--r--test/files/neg/t7783.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/neg/t7783.scala b/test/files/neg/t7783.scala
new file mode 100644
index 0000000000..995b644a09
--- /dev/null
+++ b/test/files/neg/t7783.scala
@@ -0,0 +1,15 @@
+object O { class C; @deprecated("", "") type D = C; def foo: Seq[D] = Nil }
+
+object NoWarn {
+ O.foo // nowarn
+ O.foo +: Nil // nowarn
+ def bar(a: Any, b: Any) = () // nowarn
+ bar(b = O.foo, a = ()) // nowarn
+}
+
+object Warn {
+ type T = O.D
+ locally(null: O.D)
+ val x: O.D = null
+ locally(null.asInstanceOf[O.D])
+}