-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Commands: enable the parseable module interface by default #5800
base: main
Are you sure you want to change the base?
Conversation
@swift-ci please smoke test |
CC: @artemcm |
CC @bnbarham As we've been considering generating more swiftinterfaces for our own tools too. |
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.
We've been considering such a change to feed the swiftinterfaces to more tools ourselves.
We may want to have something in the compiler to prevent (or warn) when building from a non-resilient swiftinterface if that becomes a problem.
It's worth noting that Xcode doesn't use the Having said that, as long as we avoid building from a .swiftinterface for non-resilient modules (which could just be a check of the args in the .swiftinterface), I don't see anything wrong with this change. If comments were added to the .swiftinterface perhaps we could also move towards removing .swiftdoc (and others?). |
This seems reasonable to me. @bnbarham would you be okay with this being deferred as @xymus suggested?
Oh, that is interesting. Unfortunately, I don't think that VSCode likes the idea of generating, and it would require some work to do that, though if that is already in the LSP ... we might be able to write that out and point VSCode to the on-disk representation. The other features of that seem like conveniences that would be appreciated by users. |
That's fine with me. It shouldn't be an issue right now as we prefer swiftmodules. Just something to keep in mind going forward.
I personally prefer the idea of using the swiftinterface and possibly unifying the other files into it. |
Enable the swift module interface to be emitted by default. This is helpful for API surface tracking and can potentially enable perusal of the swiftinterface in VSCode mirroring what XCode already permits.
@swift-ci please smoke test |
I happened to add something that was missing for the compiler to be able to detect when building against a non-library-evolution enabled swiftinterface. So I went ahead and started working on reporting it: swiftlang/swift#61765 Note that there's still a warning when generating a swiftinterface for a non-libary-evolution module. |
I think as long as that is the case, we can't really enable it by default. |
cc @elsh in case this impact the ideas you are working on |
@compnerd should we close this one? |
Enable the swift module interface to be emitted by default. This is helpful for API surface tracking and can potentially enable perusal of the swiftinterface in VSCode mirroring what XCode already permits.