]> git.lizzy.rs Git - rust.git/commit
process trait/impl items directly from the visitor callback
authorNiko Matsakis <niko@alum.mit.edu>
Wed, 11 Jan 2017 20:46:11 +0000 (15:46 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Wed, 25 Jan 2017 20:50:47 +0000 (15:50 -0500)
commitc6b65ac7480b25be5d7157e0a13b3677c5538104
treed0ce30a8d681615e168209c030059e7ce3768e1e
parentfc57e40ce703cb70a39249f5cfb661020a1549b6
process trait/impl items directly from the visitor callback

The current setup processes impl/trait items while visiting
the impl/trait. This means we basically have this setup:

    <Lots> -> TypeckItemBody(Impl) -> Tables(ImplItem{0,1,2,3})

But this was largely an artifact of the older code. By moving the
processing of items into method dedicated for their use, we produce this
setup:

    <Little> -> TypeckItemBody(ImplItem0) -> Tables(ImplItem0)
    ...
    <Little> -> TypeckItemBody(ImplItem3) -> Tables(ImplItem3)
src/librustc_typeck/check/mod.rs
src/test/compile-fail/dep_graph_crosscontaminate_tables.rs [new file with mode: 0644]