Skip to content
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

[ConstraintSystem] Delay adding contextual requirements until parent … #23652

Merged
merged 1 commit into from Mar 29, 2019

Conversation

xedin
Copy link
Member

@xedin xedin commented Mar 29, 2019

…type is opened

openUnboundGenericType eagerly tries to add conditional requirements
associated with chain of parents of the given type if type has been
declared inside of constrained extension. But one of the parent types
might be unbound e.g. A.B which means it has to be opened, which
by itself, would add such requirements.

Resolves: rdar://problem/49371608

@xedin xedin requested a review from DougGregor March 29, 2019 04:21
@xedin
Copy link
Member Author

xedin commented Mar 29, 2019

In release builds this manifests as infinite loop in getContextSubstitutions because llvm_unreachable gets optimized away.

…type is opened

`openUnboundGenericType` eagerly tries to add conditional requirements
associated with chain of parents of the given type if type has been
declared inside of constrained extension. But one of the parent types
might be unbound e.g. `A.B` which means it has to be opened, which
by itself, would add such requirements.

Resolves: rdar://problem/49371608
@xedin
Copy link
Member Author

xedin commented Mar 29, 2019

@swift-ci please test

@apple apple deleted a comment from swift-ci Mar 29, 2019
@apple apple deleted a comment from swift-ci Mar 29, 2019
@xedin
Copy link
Member Author

xedin commented Mar 29, 2019

@swift-ci please test source compatibility

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants