Spec-Zone.ru › Scala 3.2

Класс deprecatedInheritance.deprecatedInheritance

Исходный код

final class deprecatedInheritance(message: String, since: String) extends ConstantAnnotation

Аннотация, указывающая на то, что наследование от класса устарело.

Это обычно делается для предупреждения о том, что нефинальный класс станет финальным в будущей версии. Наследование от такого класса затем генерирует предупреждение.

Предупреждения не генерируются, если подкласс находится в той же единице компиляции.

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

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

@deprecatedInheritance("this class will be made final", "FooLib 12.0")
class Foo
val foo = new Foo     // no deprecation warning
class Bar extends Foo
// warning: inheritance from class Foo is deprecated (since FooLib 12.0): this class will be made final
// class Bar extends Foo
//                   ^
Параметры значения
message

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

since

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

См. также

scala.deprecated

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/deprecatedInheritance.html

Spec-Zone.ru

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