-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Type substitution: When substituting SILFunctionTypes we substitute u… #32027
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
Type substitution: When substituting SILFunctionTypes we substitute u… #32027
Conversation
…nbound Objective-C generic for bound ones IRGen does so. So don't assert on this case. rdar://63509292
|
@swift-ci Please test |
|
IRGen's behavior has caused problems in the past. I think it's a bit of a hack. This fix is totally fine but it would be nice if we could wean IRGen off of UnboundGenericTypes entirely. They should not exist after type checking. |
|
IRGen creates it here: |
|
Yeah, it seems like whoever consumes the result of that is unable to handle a BoundGenericType whose decl is an Objective-C generic class. It seems like it would be easier to fix that code to instead ignore the generic arguments there, rather than performing this transformation in the right place. |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@slavapestov Part of the issue is that we (at least historically) rely on the type identity being the same for types that are equivalent at runtime in parts of IRGen. There's likely to be better ways to do that, though. |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci please test linux |
|
Build failed |
|
@swift-ci Please test linux |
|
Build failed |
|
@swift-ci Please smoke test linux |
…nbound Objective-C generic for bound ones (take 2) IRGen does so. So don't assert on the case when there is a nested Objective-C type. (follow-up to swiftlang#32027 rdar://63509292 which fixed the non-nested case) rdar://66302139
…nbound Objective-C generic for bound ones
IRGen does so. So don't assert on this case.
rdar://63509292