annotation Deprecated
Overview
This annotation marks features as deprecated.
It can annotate methods, macros, types, constants, aliases and method parameters.
It receives an optional StringLiteral as single argument containing a
deprecation notice.
@[Deprecated("Use `#bar` instead")]
def foo
end
@[Deprecated("Here may be dragons")]
class Foo
end
def foo(bar, @[Deprecated("Do not try this at home")] baz)
end
Deprecations are shown in the API docs and the compiler prints a warning when using a deprecated feature.
Deprecated types only trigger a warning when they are actually used (e.g. calling a class method), not when they're just part of type restriction, for example. Deprecated parameters only trigger a warning when the particular parameter is passed in a call. Calls without this parameter are unaffected.