]> git.lizzy.rs Git - rust.git/commit
clear out projection subobligations after they are processed
authorAriel Ben-Yehuda <ariel.byd@gmail.com>
Sun, 20 Aug 2017 16:16:36 +0000 (19:16 +0300)
committerAriel Ben-Yehuda <ariel.byd@gmail.com>
Sun, 27 Aug 2017 15:13:23 +0000 (18:13 +0300)
commit7534f7375badadec6b1e41c98f0953b3e547c42d
treef6accb2dc2f2c304b7d5dd95549dca0638f9c3db
parent78e95bb7ac92f8f92654705a47cef652b6a0b259
clear out projection subobligations after they are processed

After a projection was processed, its derived subobligations no longer
need any processing when encountered, and can be removed. This improves
the status of #43787.

This is actually complementary to #43938 - that PR fixes selection
caching (and @remram44's example, which "accidentally" worked because of
the buggy projection caching) while this PR fixes projection caching
src/librustc/traits/fulfill.rs
src/librustc/traits/project.rs
src/librustc/traits/select.rs