Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement support for @deprecated gates in wit-parser #1683

Closed
yoshuawuyts opened this issue Jul 17, 2024 · 0 comments · Fixed by #1687
Closed

Implement support for @deprecated gates in wit-parser #1683

yoshuawuyts opened this issue Jul 17, 2024 · 0 comments · Fixed by #1687

Comments

@yoshuawuyts
Copy link
Member

For the WASI 0.2 timeframe (early October), it would be great if we could land support for @deprecated gates (WebAssembly/component-model#377) in WIT, so we can begin closing out issues like WebAssembly/wasi-clocks#69 and WebAssembly/wasi-http#107.

The syntax we're proposing for this builds on the existing gate notation we have for @since and @unstable, extending it with a new @deprecated notation with a required version field and an optional message field:

gate ::= unstable-gate
       | since-gate
       | deprecated-gate

unstable-gate ::= '@unstable' '(' feature-field ')'
since-gate ::= '@since' '(' version-field ( ',' feature-field )? ')'
deprecated-gate ::= '@deprecated' '(' version-field ( ',' message-field )? ')'

feature-field ::= 'feature' '=' id
version-field ::= 'version' '=' <valid semver>
message-field ::= 'message' '=' <core:string>

I believe that #1508 probably did most of the heavy lifting required to implement gates, introducing the concept of extensible metadata to the parser. I'm hoping that adding this feature will be made a lot simpler because of that; perhaps as easy as extending the parser and adding a new entry in the metadata.

On the component model side we're again waiting for feedback from at least one implementation before landing the extension. It would be great if this project could again be that implementation. Thanks!

alexcrichton added a commit to alexcrichton/wasm-tools that referenced this issue Jul 18, 2024
github-merge-queue bot pushed a commit that referenced this issue Jul 23, 2024
This is intended to correspond with WebAssembly/component-model#377.

Closes #1683
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant