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

Implement higher-ranked trait bounds. #18993

Merged
merged 14 commits into from
Nov 18, 2014
Merged

Conversation

nikomatsakis
Copy link
Contributor

Enough said.

Fixes #18639.

r? @pcwalton (or someone else?)

This is a [breaking-change]. In particular, several feature gates related to unboxed closures were consolidated into one (overloaded_calls, unboxed_closure_sugar => unboxed_closures). Otherwise, I think everything that worked before should still work. File a bug and cc @nikomatsakis if you find otherwise. :)

@alexcrichton
Copy link
Member

A monumental effort! ⛄

@nikomatsakis nikomatsakis force-pushed the hrtb-5 branch 3 times, most recently from 98f1180 to 85cb01b Compare November 17, 2014 19:55
@nikomatsakis
Copy link
Contributor Author

Addressed comments in 98f1180, now rebasing.

@nikomatsakis
Copy link
Contributor Author

Using p=1 due to the importance of this feature for 1.0

@nikomatsakis nikomatsakis force-pushed the hrtb-5 branch 2 times, most recently from 3bdfb1d to 7dfdc6c Compare November 18, 2014 17:23
something other than a trait type.
`Box<for<'a> Foo<&'a T> + 'a>` can be accepted. Also cleanup the visitor/fold
in general, exposing more callbacks.
use simple pattern matching to take a guess at what the method's self
category is in astconv, and check it more thoroughly later.
region binding at the impl site, so for method types that come from impls,
it is necessary to liberate/instantiate late-bound regions at multiple
depths.
…, add new tests relating to HRTB, consolidate the `unboxed_closures` and `overloaded_calls` feature gates.
bors added a commit that referenced this pull request Nov 18, 2014
Enough said.

Fixes #18639.

r? @pcwalton (or someone else?)

This is a [breaking-change]. In particular, several feature gates related to unboxed closures were consolidated into one (`overloaded_calls`, `unboxed_closure_sugar` => `unboxed_closures`). Otherwise, I think everything that worked before should still work. File a bug and cc @nikomatsakis if you find otherwise. :)
@bors bors closed this Nov 18, 2014
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.

Implement higher-ranked trait bounds
4 participants