Packages

a

scala

deprecatedInheritance

final class deprecatedInheritance extends Annotation with StaticAnnotation

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
//                   ^
Annotations
@getter() @setter() @beanGetter() @beanSetter()
Source
deprecatedInheritance.scala
See also

scala.deprecated

scala.deprecatedOverriding

scala.deprecatedName

Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. deprecatedInheritance
  2. StaticAnnotation
  3. Annotation
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new deprecatedInheritance(message: String = "", since: String = "")

    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