Packages

c

scala

deprecatedInheritance

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
Since

2.10

See also

scala.deprecated

scala.deprecatedOverriding

scala.deprecatedName

Linear Supertypes
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. All

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