All Slice compilers support a metadata directive that allows you to deprecate a Slice definition. For example:
interface Example { ["deprecate:someOperation() has been deprecated, use alternativeOperation() instead."] void someOperation(); void alternativeOperation(); }
The ["deprecate"]
metadata directive causes the compiler to emit code that generates a warning if you compile application code that uses a deprecated feature. This is useful if you want to remove a feature from a Slice definition but do not want to cause a hard error.
The message that follows the colon is optional; if you omit the message and use ["deprecate"]
, the Slice compilers insert a default message into the generated code.
You can apply the ["deprecate"]
metadata directive to Slice constructs other than operations (for example, a structure or sequence definition).