@@ -958,10 +958,10 @@ change type or be removed at any time. An important expectation set by the
958
958
default unless explicitly opted-into by the developer.
959
959
960
960
Finally, the ` @deprecated ` gate on ` e ` indicates that ` e ` should no longer be
961
- used starting version ` 0.2.1 ` . ` @deprecated ` gates can carry an optional
962
- "message" field which can be used to elaborate why the feature should no longer
963
- be used and which feature to use instead. Both toolchains and host runtimes may
964
- warn users if they detect an ` @deprecated ` API is being used .
961
+ used starting version ` 0.2.1 ` . Both toolchains and host runtimes may
962
+ warn users if they detect an ` @deprecated ` API is being used. An ` @deprecated `
963
+ gate is required to always be paired up with an ` @since ` gate. It is
964
+ semantically invalid to use ` @deprecated ` without also using ` @since ` .
965
965
966
966
Together, these gates support a development flow in which new features start
967
967
with an ` @unstable ` gate while the details are still being hashed out. Then,
@@ -985,7 +985,7 @@ gate-item ::= unstable-gate
985
985
986
986
unstable-gate ::= '@unstable' '(' feature-field ')'
987
987
since-gate ::= '@since' '(' version-field ( ',' feature-field )? ')'
988
- deprecated-gate ::= '@deprecated' '(' version-field ( ',' message-field )? ')'
988
+ deprecated-gate ::= '@deprecated' '(' version-field ')'
989
989
990
990
feature-field ::= 'feature' '=' id
991
991
version-field ::= 'version' '=' <valid semver>
0 commit comments