Spec-Zone.ru › Scala 3.1

Класс scala.deprecated

Исходный код

@getter @setter @beanGetter @beanSetter @field @deprecatedInheritance("Планируется сделать final в будущем", "2.13.0")
class deprecated(message: String, since: String) extends ConstantAnnotation

Аннотация, которая указывает, что определение устарело. При использовании аннотированного определения выводится предупреждение об устарелости.

Авторы библиотек должны указать политику устаревания своей библиотеки в документации, чтобы предоставить разработчикам руководство по тому, как долго будет сохраняться устаревшее определение.

Авторы библиотек должны добавлять название своей библиотеки перед номером версии, чтобы помочь разработчикам различать устаревания, поступающие из разных библиотек:

@deprecated("this method will be removed", "FooLib 12.0")
def oldMethod(x: Int) = ...

Компилятор будет выводить предупреждения об устарелости, сгруппированные по библиотеке и версии:

oldMethod(1)
oldMethod(2)
aDeprecatedMethodFromLibraryBar(3, 4)

// warning: there was one deprecation warning (since BarLib 3.2)
// warning: there were two deprecation warnings (since FooLib 12.0)
// warning: there were three deprecation warnings in total; re-run with -deprecation for details

@deprecated в языке Scala и его стандартной библиотеке

Устаревший элемент языка Scala или определение в стандартной библиотеке Scala будет сохранено как минимум на текущую главную версию.

Это означает, что элемент, устаревший в каком-то релизе 2.13.x, будет сохранен во всех выпусках 2.13.x, но может быть удален в будущем. (Устаревший элемент может быть сохранён дольше, чтобы облегчить миграцию, но разработчики не должны полагаться на это.)

Параметры значения
message

сообщение, которое будет выведено во время компиляции, если определение будет обращено

since

строка, определяющая первую версию, в которой определение было устарело

См. также

Официальная документация по бинарной совместимости.

scala.deprecatedInheritance

scala.deprecatedOverriding

scala.deprecatedName

Надтипы
Трейт ConstantAnnotation
Трейт StaticAnnotation
Класс Annotation
Класс Object
Трейт Matchable
Класс Any

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/deprecated.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API