- 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 provide 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. Repeated calls to deprecate_soft() and
deprecate_warn() are also much faster if you supply an id because it
avoids spending time generating the message only to immediately exit if the
once per session warning has already been thrown before.
- 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).