Docs API
Scala 3/scala/deprecatedInheritance

deprecatedInheritance

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

An annotation that designates that inheriting from a class is deprecated.

This is usually done to warn about a non-final class being made final in a future version. Sub-classing such a class then generates a warning.

No warnings are generated if the subclass is in the same compilation unit.

Library authors should state the library's deprecation policy in their documentation to give developers guidance on when a type annotated with @deprecatedInheritance will be finalized.

Library authors should prepend the name of their library to the version number to help developers distinguish deprecations coming from different libraries:

@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
// ^

Value parameters

message

the message to print during compilation if the class was sub-classed

since

a string identifying the first version in which inheritance was deprecated

Attributes

See also
Source
deprecatedInheritance.scala
Graph
Supertypes
class Annotation
class Object
trait Matchable
class Any
Show all
In this article

AltStyle によって変換されたページ (->オリジナル) /