-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Ncgenerics test fixes kavon v10 #71560
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d47d866
to
75e9135
Compare
preset=ncgenerics,smoketest=macosx |
@swift-ci smoke test |
ff45ef3
to
737dcb9
Compare
@swift-ci smoke test |
preset=ncgenerics,smoketest=macosx |
slavapestov
reviewed
Feb 13, 2024
slavapestov
reviewed
Feb 13, 2024
slavapestov
reviewed
Feb 13, 2024
slavapestov
reviewed
Feb 13, 2024
737dcb9
to
517901e
Compare
@swift-ci smoke test |
1cb2632
to
6dc0c7c
Compare
There's a few uses of ReferenceStorageTypes being substituted for generic parameters, at least in the test suite, such as `Optional<@sil_unmanaged ..>` and just plain `<@sil_unowned ..>`. Before, conformance lookup could (and did) give bogus answers when asked if the type satisfies any conformance requirements. Now with NoncopyableGenerics, we will interpret such conformance lookups as being asked of the referent type, ignoring the SIL ownership wrapping it.
With NoncopyableGenerics, we get a cycle involving `SuperclassTypeRequest` with this program: public struct RawMarkupHeader {} final class RawMarkup: ManagedBuffer<RawMarkupHeader, RawMarkup> { } Because we generally don't support the following kind of relationship: class Base<T: P>: P {} class Derived: Base<Derived> {} This commit works around the root-cause, which is that Derived's synthesized conformance to Copyable gets superceded by the inherited one from Base. Instead of recording conformances in the ConformanceLookup table at all, create builtin conformances on the fly, since classes cannot be conditionally Copyable or Escapable.
6dc0c7c
to
3a45393
Compare
@swift-ci smoke test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
more test fixes