WebAssembly / component-model

Repository for design and specification of the Component Model
Other
981 stars 82 forks source link

Add explicit scenarios for feature gate usage #387

Closed vados-cosmonic closed 3 months ago

vados-cosmonic commented 3 months ago

This commit addds some explanation of the intended usage pattern of feature gates in order to make the transition points and functionality easier to identify/reason about.

Resolves #382

vados-cosmonic commented 3 months ago

@alexcrichton / @lukewagner / @yoshuawuyts would anyone mind taking a look at this?

lukewagner commented 3 months ago

I just realized that one other change we discussed in #382 that maybe we want to make in this PR (if we want it to fully resolve #382) is the validation requirements (attached to the various gates) of: @since xor @unstable and gates-imply-top-level-package (just as an extra sentence or two in the section that introduces the gates).

vados-cosmonic commented 3 months ago

@lukewagner thanks that's a great catch -- that little requirement was definitely an eye opener on the code side -- will add!

vados-cosmonic commented 3 months ago

Kept this particular change separate so it might be easy to review (I added some headings):

https://github.com/WebAssembly/component-model/pull/387/commits/af0c60ef819c1714fd4f3c63354cb934a82dae61

Would appreciate just a bit more feedback!

lukewagner commented 3 months ago

Awesome, lgtm, thanks again! Once things are implemented enough to feel good about this PR, lmk and I'll merge this.

vados-cosmonic commented 3 months ago

Yup! I'll squash here and see what I can do about updating implementation in other spots!

vados-cosmonic commented 3 months ago

Hey @lukewagner so at this point the optional feature is removed (in a semi-breaking manner, those changes should percolate through but have rarely few people affected), anything else I'm missing? We don't have a new version of wit-parser and/or wit-component out yet of course, but it should be relatively real now going forward.

lukewagner commented 3 months ago

Great, thanks again for all the work!