]> git.lizzy.rs Git - rust.git/commit
typeck/kind -- stop using old trait framework.
authorNiko Matsakis <niko@alum.mit.edu>
Fri, 12 Sep 2014 15:47:33 +0000 (11:47 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Mon, 15 Sep 2014 19:28:12 +0000 (15:28 -0400)
commit688ddf79156aa01a2507412c9b766f48ef208b04
tree4d8fc6a10ba98534517a66e4ae6d1fa1df2e3d06
parent088c94ae96aa139db6b6f0c5640c720ff107ee0f
typeck/kind -- stop using old trait framework.

- Unify the "well-formedness" checking that typeck was already doing with what
  was taking place in kind.
- Move requirements that things be sized into typeck.
- I left the checking on upvars in kind, though I think it should eventually be
  refactored into regionck (which would perhaps be renamed).

This reflects a general plan to convert typeck so that it registers
obligations or other pending things for conditions it cannot check
eventually. This makes it easier to identify all the conditions that
apply to an AST expression, but can also influence inference in somec
cases (e.g., `Send` implies `'static`, so I already had to promote a lot
of the checking that `kind.rs` was doing into typeck, this branch just
continues the process).
src/librustc/middle/kind.rs
src/librustc/middle/ty.rs
src/librustc/middle/typeck/check/_match.rs
src/librustc/middle/typeck/check/method.rs
src/librustc/middle/typeck/check/mod.rs
src/librustc/middle/typeck/check/regionck.rs
src/librustc/middle/typeck/check/vtable.rs [deleted file]
src/librustc/middle/typeck/check/vtable2.rs [new file with mode: 0644]
src/librustc/middle/typeck/check/wf.rs [new file with mode: 0644]
src/librustc/middle/typeck/check/writeback.rs
src/librustc/middle/typeck/infer/coercion.rs