]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #22436 - nikomatsakis:issue-22246-bound-lifetimes-of-assoc-types, r...
authorbors <bors@rust-lang.org>
Wed, 18 Feb 2015 23:58:38 +0000 (23:58 +0000)
committerbors <bors@rust-lang.org>
Wed, 18 Feb 2015 23:58:38 +0000 (23:58 +0000)
Take 2. This PR includes a bunch of refactoring that was part of an experimental branch implementing [implied bounds]. That particular idea isn't ready to go yet, but the refactoring proved useful for fixing #22246. The implied bounds branch also exposed #22110 so a simple fix for that is included here. I still think some more refactoring would be a good idea here -- in particular I think most of the code in wf.rs is kind of duplicating the logic in implicator and should go, but I decided to post this PR and call it a day before diving into that. I'll write a bit more details about the solutions I adopted in the various bugs. I patched the two issues I was concerned about, which was the handling of supertraits and HRTB (the latter turned out to be fine, so I added a comment explaining why.)

r? @pnkfelix (for now, anyway)
cc @aturon

[implied bounds]: http://smallcultfollowing.com/babysteps/blog/2014/07/06/implied-bounds/


Trivial merge