-
Notifications
You must be signed in to change notification settings - Fork 196
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
fix(compiler)!: no way to detect if an interface implements a preflight class #6197
Conversation
Thanks for opening this pull request! 🎉
|
Console preview environment is available at https://wing-console-pr-6197.fly.dev 🚀 Last Updated (UTC) 2024-04-12 06:27 |
BenchmarksComparison to Baseline ⬜⬜⬜⬜⬜⬜⬜⬜⬜🟥⬜⬜⬜
⬜ Within 1.5 standard deviations Benchmarks may vary outside of normal expectations, especially when running in GitHub Actions CI. Results
Last Updated (UTC) 2024-04-12 06:32 |
Signed-off-by: monada-bot[bot] <monabot@monada.co>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing some tests?
Co-authored-by: Chris Rybicki <chrisr@monada.co>
Co-authored-by: Chris Rybicki <chrisr@monada.co>
Signed-off-by: monada-bot[bot] <monabot@monada.co>
…wing into yoav/phased_interfaces
Signed-off-by: monada-bot[bot] <monabot@monada.co>
…wing into yoav/phased_interfaces
Signed-off-by: monada-bot[bot] <monabot@monada.co>
Signed-off-by: monada-bot[bot] <monabot@monada.co>
❌ Unstable Self-Mutation ❌Self-mutation has run twice in a row. There may be a something non-deterministic in the build or test process.
|
Signed-off-by: monada-bot[bot] <monabot@monada.co>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Chris Rybicki <chrisr@monada.co>
Thanks for contributing, @yoav-steinberg! This PR will now be added to the merge queue, or immediately merged if |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great cleanup!
Congrats! 🚀 This was released in Wing 0.70.0. |
Use the new `inflight interface` modifier introduced by winglang/wing#6197.
Fixes #5872
Add a phase modifier
inflight
support tointerface
definitions. Now all preflight interfaces implicitly implementstd.IResouce
the same way that prefligth classes implicitly implementstd.Resource
. We can now explicitly qualify these interfaces with thelift()
builtin and we can get qualification errors if an inflight variable is being used to access such an object (same as classes).Note that inflight interfaces can be defined preflight with the keywork and all their methods will be implicitly
inflight
. Interfaces defined inflight are always inflight interfaces. Preflight interfaces may extend inflight interfaces, but not the other way around.JSII imported interfaces are, at least for now, always preflight interfaces.
Breaking change:
Since inflight interfaces are new, code using interfaces in inflight that were defined in preflight scope will need to add the
inflight
modifier to those interfaces or the compiler will complain that you're trying to access an unknown preflight object:Other fixes
Checklist
pr/e2e-full
label if this feature requires end-to-end testingBy submitting this pull request, I confirm that my contribution is made under the terms of the Wing Cloud Contribution License.