-
Notifications
You must be signed in to change notification settings - Fork 648
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
Make EventLoopFuture.hopTo(eventLoop:)
public again.
#963
Conversation
@swift-nio-bot test this please |
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.
ouch... LGTM. Thanks!
Verify API / ABI breakage would be good for sure... I wonder if there is anything similar to what we have in java to verify this sort of stuff in netty: https://siom79.github.io/japicmp/MavenPlugin.html Basically it always confirms the current "branch" to the last stable release and fails the build if there is an API / ABI issue. |
Verifying ABI breakage is not relevant due to the lack of stable ABI on Linux, so we don't need to worry about that. Verifying API breakage in Swift is an unsolved problem. We'd have to invest time in writing tooling that presumably uses SwiftSyntax or something similar to generate an idea of what the public interface to SwiftNIO even is, and then to write diffing tools that understand the semantic nature of the changes. This is a hard problem. Writing tests that don't use |
I think Xcode sometimes gets confused when Cmd-clicking a library symbol and only shows that library's exports, rather than the implementation source file. Maybe that could be a place to start. I could imagine that it would be easier to simply wait until that tooling has improved though, rather than invest unreasonable amounts of time now. |
Ouch! I think the Swift team somewhere have a public API diffing tool. We need that kind of thing. |
This was accidentally made
internal
with #947.Maybe there should be a separate test case file (with a non-
@testable
import
) that verifies that allpublic
interfaces are still present?