Spec-Zone.ru › Scala 3.2

Класс deprecated.deprecated

Исходный код

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.2.0/scala/deprecated.html

Spec-Zone.ru

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