Auto merge of #5390 - matklad:new-feature-behavior, r=alexcrichton
authorbors <bors@rust-lang.org>
Thu, 19 Apr 2018 14:30:48 +0000 (14:30 +0000)
committerbors <bors@rust-lang.org>
Thu, 19 Apr 2018 14:30:48 +0000 (14:30 +0000)
Enable new behavior of `--feature`

So far, the feedback on https://internals.rust-lang.org/t/help-us-test-the-breaking-bug-fix-to-cargo-features/7317 has been positive, so here's a PR to try this in nightly.

Note that the logic is slightly tweak for the case `cargo build -p not-a-workspace-member`: we want not only to resolve all ws members in this case, but to enable all of their features as well!

As a sanity check, this seems to be forward compatible with further improvements to features:

1) when we solve the grand bug of features being unified across the whole workspace, `cargo build -p not-a-member` would hopefully just work without additional contortions.
2) we might add a way to specify features per package, like `cargo build -p foo -p bar --features "foo/serde bar/serde"`


Trivial merge