]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #33852 - arielb1:autoderef-iterator, r=eddyb
authorManish Goregaokar <manishsmail@gmail.com>
Sat, 28 May 2016 14:22:16 +0000 (19:52 +0530)
committerManish Goregaokar <manishsmail@gmail.com>
Sat, 28 May 2016 14:22:16 +0000 (19:52 +0530)
commitedd7d422b7269d68e63d475869c287ef9fdad1cd
treed9177e3b4ac7d6b27bd76bd022c6b5cc6004ba67
parent6e897d78ae41872ab311aa76dcf856a707b66250
parent040fc94b4eaeb24b6da297a763a28df66473e34d
Rollup merge of #33852 - arielb1:autoderef-iterator, r=eddyb

refactor autoderef to avoid prematurely registering obligations

Refactor `FnCtxt::autoderef` to use an external iterator and to not
register any obligation from the main autoderef loop, but rather to
register them after (and if) the loop successfully completes.

Fixes #24819
Fixes #25801
Fixes #27631
Fixes #31258
Fixes #31964
Fixes #32320
Fixes #33515
Fixes #33755

r? @eddyb