Auto merge of #5432 - djc:split-context, r=alexcrichton
authorbors <bors@rust-lang.org>
Wed, 2 May 2018 14:15:23 +0000 (14:15 +0000)
committerbors <bors@rust-lang.org>
Wed, 2 May 2018 14:15:23 +0000 (14:15 +0000)
commit9d57564a62360a9b637d3c45d919b7d08d59fead
treeefb4e518a72396a46fb2f13582b367c698525792
parentacea5e2f3c3bdd98ae3d1faf36a4499791acbd72
parentd02c726eb4c5651722b19fc3ff80817cbe5a19cb
Auto merge of #5432 - djc:split-context, r=alexcrichton

Split Context into two types

@matklad here's the crazy attempt to make the `Context` situation slightly more sane. It basically splits all of the stuff that is immutable over the lifetime of the compilation from the stuff that's initialized empty. The latter is now stored in a type which I have provisionally called `BuildProgress` -- feel free to bikeshed about the name (I came up with `BuildData` as another alternative). It stores a reference to the `Context` to make things easier for now, we might want to change that down the line.

IMO this is a pretty good improvement, which clarifies the design quite a bit.

@alexcrichton you'll probably want to review this, too.
src/cargo/ops/cargo_clean.rs