about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-26 04:25:03 +0000
committerbors <bors@rust-lang.org>2017-01-26 04:25:03 +0000
commit2f0463a4a4f323c4deffc861349e38c6b5091782 (patch)
treea172e30795a2a6eeb51ef62b04e620b2f56f286a /src/rustllvm/RustWrapper.cpp
parent6991938d3e91c200de7b6c6ef08f9600c075c89b (diff)
parent282f7a3c44a428c26155b4686ad95e802fcd4158 (diff)
downloadrust-2f0463a4a4f323c4deffc861349e38c6b5091782.tar.gz
rust-2f0463a4a4f323c4deffc861349e38c6b5091782.zip
Auto merge of #39000 - nikomatsakis:incr_comp_crosscontaminate_impl_item, r=michaelwoerister
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)

r? @michaelwoerister

Also, we might consider removing the `TypeckItemBody` node altogether and just using `Tables` as the task. `Tables` is its primary output, I imagine? That would reduce size of dep-graph somewhat.

cc @eddyb -- perhaps this pattern applies elsewhere?
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions