@@ -958,10 +958,10 @@ change type or be removed at any time. An important expectation set by the
958958default unless explicitly opted-into by the developer.
959959
960960Finally, 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 ` .
965965
966966Together, these gates support a development flow in which new features start
967967with an ` @unstable ` gate while the details are still being hashed out. Then,
@@ -985,7 +985,7 @@ gate-item ::= unstable-gate
985985
986986unstable-gate ::= '@unstable' '(' feature-field ')'
987987since-gate ::= '@since' '(' version-field ( ',' feature-field )? ')'
988- deprecated-gate ::= '@deprecated' '(' version-field ( ',' message-field )? ')'
988+ deprecated-gate ::= '@deprecated' '(' version-field ')'
989989
990990feature-field ::= 'feature' '=' id
991991version-field ::= 'version' '=' <valid semver>
0 commit comments