]> git.lizzy.rs Git - rust.git/commit
Adjust the handling of trait obligations and defaults to account for
authorNiko Matsakis <niko@alum.mit.edu>
Sat, 31 Jan 2015 11:33:41 +0000 (06:33 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Sun, 1 Feb 2015 11:13:06 +0000 (06:13 -0500)
commit92f94765ec2202ccda84a7da97c4d415ffb9b070
treefaeeb1875e266230d39bb66901227c3a02a8f0f3
parentf5281e2bb56fa9ef4debf04e6141d2ad3650ca61
Adjust the handling of trait obligations and defaults to account for
upvar inference.  Upvar inference can cause some obligations to be
deferred, notably things like `F : Sized` where `F` is a closure type,
or `F : FnMut`. Adjust the ordering therefore so that we process all
traits and apply fallback, do upvar inference, and only then start
reporting errors for outstanding obligations.
src/librustc_typeck/check/mod.rs
src/librustc_typeck/check/vtable.rs