]> git.lizzy.rs Git - rust.git/commit
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)
commit22992358bc74956f53b1a2ab99ae245cd3ca5550
tree960927f60e213cd3c87ccc3165df97ca17043dfb
parentdfc5c0f1e8799f47f9033bdcc8a7cd8a217620a5
parent9bb3b3772d4be69b0f619bd9456255a9e3bc7d9e
Auto merge of #22436 - nikomatsakis:issue-22246-bound-lifetimes-of-assoc-types, r=nikomatsakis

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/