-
Notifications
You must be signed in to change notification settings - Fork 113
Relax the alignment requirement for DiscoverableAsTestContent.Context
.
#1076
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
Conversation
@swift-ci test |
1 similar comment
@swift-ci test |
This PR allows `DiscoverableAsTestContent.Context` to be less-aligned than `UInt` so long as its stride remains the same. It also removes the sneaky conformance of `ExitTest` to `DiscoverableAsTestContent`, opting instead to use an internal type. Since the conformance to `DiscoverableAsTestContent` and the implementation of `__store()` form a closed system (where all type information is controlled by Swift Testing at runtime), we can do this without breaking any ABI. I've updated ABI/TestContent.md to remove some of the relevant implementation details.
64dca31
to
9b93602
Compare
@swift-ci test |
@swift-ci test |
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.
I'm not the author of this PR but reviewed it and resolved conflicts in his absence, which he subsequently reviewed. Planning to merge it once CI looks good
The macOS CI failure is expected to be resolved by swiftlang/swift#80830. |
This PR allows
DiscoverableAsTestContent.Context
to be less-aligned thanUInt
so long as its stride remains the same. It also removes the sneaky conformance ofExitTest
toDiscoverableAsTestContent
, opting instead to use an internal type. Since the conformance toDiscoverableAsTestContent
and the implementation of__store()
form a closed system (where all type information is controlled by Swift Testing at runtime), we can do this without breaking any ABI. I've updated ABI/TestContent.md to remove some of the relevant implementation details.Checklist: