Skip to content

[WIP] [Stdlib] Eliminate SubSequence from _Indexable. #9276

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

Conversation

DougGregor
Copy link
Member

This is intended to fix ABI FIXMEs #178 and #180, as well as
rdar://problem/31830524, given that rdar://25214066 is mostly fixed,
but we still run into associated type inference issues. Sigh.

DougGregor added 4 commits May 3, 2017 22:35
Make this routine suppress diagnostics when there is no
source-location information (which allows it to be used as a query)
and to distinguish the "we couldn't substitute into a requirement"
failure mode from the "a requirement actually failed" failure mode.
Extend SubstOptions, which controls how substitution is performed, to
allow the caller to subst() to provide a callback function that may
provide a type witness for a normal protocol conformance that is
undergoing type witness inference. In effect, it's allowing us to
provide tentative bindings for type witnesses so we can see the
effects of substitution.
…signature

When we have a potential assignment of associated types to type
witnesses during associated type inference, check that set of type
witnesses against the requirements in the requirement signature, so
that we can reject any solutions that fail some of the protocol's
requirements.

This is most of rdar://problem/31830524 --- but gets thwarted by the
inability of associated type inference to work across multiple
protocols.
This is intended to fix ABI FIXMEs swiftlang#178 and swiftlang#180, as well as
rdar://problem/31830524, given that rdar://25214066 is mostly fixed,
but we still run into associated type inference issues. Sigh.
@DougGregor
Copy link
Member Author

No longer relevant; I'm going to tackle this head-on as part of implementing the standard library part of SE-0157: Recursive Protocol Constraints in a single PR.

@DougGregor DougGregor closed this Sep 14, 2017
@DougGregor DougGregor deleted the remove-subsequence-from-indexable branch September 14, 2017 16:29
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.

1 participant