有一种很好的方法可以避免invoking the deprecated method from a deprecated local def在Scala 2.10(以及之前)中出现弃用警告。不幸的是,它在Scala 2.11中不起作用。还有其他选择吗?
答案 0 :(得分:1)
从this Scala issue comment开始,我们可以定义在不推荐使用的类/特征中调用弃用API的方法,并让此类的伴随对象在没有警告的情况下扩展它:
scala> @deprecated("", "") def foo = 0
foo: Int
scala> object Test { @deprecated("", "") class Coral { def fooForwarder = foo }; object Coral extends Coral }
defined object Test
scala> Test.Coral.fooForwarder
res1: Int = 0