Skip to content

Conversation

@slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Aug 25, 2018

Fixes https://bugs.swift.org/browse/SR-8643 and simplifies some related code. Also addresses FIXMEs introduced by #18366.

@slavapestov slavapestov requested a review from DougGregor August 25, 2018 07:08
@slavapestov slavapestov force-pushed the clean-up-conformance-subst branch from 18a05a0 to d73ccd9 Compare August 25, 2018 07:08
Instead of using the callback form of SubstitutionMap::get(), let's
use the lower-level form that takes the replacement array and
conformances array directly, allowing us to bypass several
calls of subst() on 'this'.
@slavapestov slavapestov force-pushed the clean-up-conformance-subst branch from d73ccd9 to 9cbb944 Compare August 25, 2018 07:31
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

I think the assertion failure referenced from the FIXME comment
has been fixed.
@slavapestov slavapestov force-pushed the clean-up-conformance-subst branch from 9cbb944 to a71710b Compare August 25, 2018 08:15
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

@slavapestov slavapestov changed the title Clean up ProtocolConformance::subst() Clean up ProtocolConformance::subst() and fix crash exposed by coroutines work Aug 25, 2018
@slavapestov
Copy link
Contributor Author

@adrian-prantl Please take a look at the debug info change.

@slavapestov slavapestov merged commit a42fe56 into swiftlang:master Aug 25, 2018
});
for (auto ParamType : Sig->getSubstitutableParams()) {
if (!Type(ParamType).subst(SubsMap)->isEqual(ParamType))
return true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Copy link
Member

@DougGregor DougGregor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is so much cleaner, thank you!

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.

3 participants