Remove some unnecessary mapTypeIntoContext calls from CSGen. #11743
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.
These helpers are all about trying to decide if a particular overload is "favored", but the answer won't change if a local archetype is actually the type we're looking for, so there's no advantage to using contextual types over interface types. On top of that, the calls to mapTypeIntoContext are forcing the deserialization of several generic environments that would have otherwise been left untouched, resulting in unnecessary calls to the generic signature builder.
This isn't a recent change, but we're seeing strain around the generic signature builder and complex constraints in the standard library anyway, so we'll take wins where we can get them.
Discovered as part of the performance investigation in rdar://problem/33984386.