- when
A string giving the version when the behaviour was deprecated.
- what
A string describing what is deprecated:
Deprecate a whole function with "foo()".
Deprecate an argument with "foo(arg)".
Partially deprecate an argument with
"foo(arg = 'must be a scalar integer')".
Deprecate anything else with a custom message by wrapping it in I().
You can optionally supply the namespace: "ns::foo()", but this is
usually not needed as it will be inferred from the caller environment.
- with
An optional string giving a recommended replacement for the
deprecated behaviour. This takes the same form as what.
- details
In most cases the deprecation message can be
automatically generated from with. When it can't, use details
to provide a hand-written message.
details can either be a single string or a character vector,
which will be converted to a bulleted list.
By default, info bullets are used. Provide a named vectors to
override.
- id
The id of the deprecation. A warning is issued only once
for each id. Defaults to the generated message, but you should
give a unique ID when the message in details is built
programmatically and depends on inputs, or when you'd like to
deprecate multiple functions but warn only once for all of them.
- env, user_env
Pair of environments that define where deprecate_*()
was called (used to determine the package name) and where the function
called the deprecating function was called (used to determine if
deprecate_soft() should message).
These are only needed if you're calling deprecate_*() from an internal
helper, in which case you should forward env = caller_env() and
user_env = caller_env(2).
- always
If FALSE, the default, will warn every 8 hours. If
TRUE, will always warn in direct usages. Indirect usages keep
warning every 8 hours to avoid disrupting users who can't fix the
issue. Only use always = TRUE after at least one release with
the default.