cargo.git
7 years agoAuto merge of #5722 - alexcrichton:beta-next, r=alexcrichton
bors [Fri, 13 Jul 2018 20:44:11 +0000 (20:44 +0000)]
Auto merge of #5722 - alexcrichton:beta-next, r=alexcrichton

[beta] Partially revert dep changes in #5651

This is a beta backport of https://github.com/rust-lang/cargo/pull/5711

7 years agoPartially revert dep changes in #5651
Alex Crichton [Wed, 11 Jul 2018 16:27:08 +0000 (09:27 -0700)]
Partially revert dep changes in #5651

Some logic which was tweaked around the dependencies of build script targets was
tweaked slightly in a way that causes cargo to stack overflow by accientally
adding a dependency loop. This commit implements one of the strategies discussed
in #5711 to fix this situation.

The problem here is that when calculating the deps of a build script we need the
build scripts of *other* packages, but the exact profile is somewhat difficult
to guess at the moment we're generating our build script unit. To solve this the
dependencies towards other build scripts' executions is added in a different
pass after all other units have been assembled. At this point we should know for
sure that all build script executions are in the dependency graph, and we just
need to add a few more edges.

Closes #5708

7 years agoAuto merge of #5687 - ehuss:beta-panic-rustdoc, r=alexcrichton
bors [Thu, 5 Jul 2018 21:59:33 +0000 (21:59 +0000)]
Auto merge of #5687 - ehuss:beta-panic-rustdoc, r=alexcrichton

[BETA] Fix doctests linking too many libs.

Backport of #5651.

7 years ago[BETA] Fix doctests linking too many libs.
bors [Thu, 5 Jul 2018 20:06:19 +0000 (20:06 +0000)]
[BETA] Fix doctests linking too many libs.

Backport of #5651.

7 years agoAuto merge of #5686 - alexcrichton:beta-next, r=alexcrichton
bors [Thu, 5 Jul 2018 21:21:31 +0000 (21:21 +0000)]
Auto merge of #5686 - alexcrichton:beta-next, r=alexcrichton

[beta] Fix `cargo install` using a workspace target dir

Backport of https://github.com/rust-lang/cargo/pull/5685

7 years agoFix `cargo install` using a workspace target dir
Alex Crichton [Thu, 5 Jul 2018 19:05:50 +0000 (12:05 -0700)]
Fix `cargo install` using a workspace target dir

Closes #5662

7 years agoAuto merge of #5671 - Mark-Simulacrum:backport-4be5a4486, r=alexcrichton
bors [Fri, 29 Jun 2018 22:26:44 +0000 (22:26 +0000)]
Auto merge of #5671 - Mark-Simulacrum:backport-4be5a4486, r=alexcrichton

Fix avoiding a rebuild when moving around a workspace

This is a backport of https://github.com/rust-lang/cargo/pull/5669.

There's a case where Cargo will recompile a project even if the fingerprint
looks like it's fresh, when some output files are missing. This was intended to
cover the case where an output file was deleted manually or otherwise messed
with. The check here was a bit too eager, however. It checked not only the
actual output destination of the compiler but *also* the location that we hard
link the output file up to.

Due to recent changes in #5460 we don't always create the hard links for path
dependencies in the top-level dir, and this meant that if the library were
compiled and then tested later on the test may recompile the original library by
accident.

The fix in this commit is to cease looking for the hardlink if it exists or not.
This way we only check for the presence of the output file itself and only
recompile if that file is missing. The reason for this is that we
unconditionally relink files into place whether it's fresh or not, so we'll
always recreate the hard link anyway if it's missing.

cc rust-lang/rust#51717

r? @alexcrichton

7 years agoFix avoiding a rebuild when moving around a workspace
Alex Crichton [Fri, 29 Jun 2018 19:17:41 +0000 (12:17 -0700)]
Fix avoiding a rebuild when moving around a workspace

There's a case where Cargo will recompile a project even if the fingerprint
looks like it's fresh, when some output files are missing. This was intended to
cover the case where an output file was deleted manually or otherwise messed
with. The check here was a bit too eager, however. It checked not only the
actual output destination of the compiler but *also* the location that we hard
link the output file up to.

Due to recent changes in #5460 we don't always create the hard links for path
dependencies in the top-level dir, and this meant that if the library were
compiled and then tested later on the test may recompile the original library by
accident.

The fix in this commit is to cease looking for the hardlink if it exists or not.
This way we only check for the presence of the output file itself and only
recompile if that file is missing. The reason for this is that we
unconditionally relink files into place whether it's fresh or not, so we'll
always recreate the hard link anyway if it's missing.

cc rust-lang/rust#51717

7 years agoAuto merge of #5603 - matklad:publish-nightly-features, r=matklad
bors [Thu, 7 Jun 2018 07:02:02 +0000 (07:02 +0000)]
Auto merge of #5603 - matklad:publish-nightly-features, r=matklad

Allow publishing crates with nightly features

closes #5427.

cc @rust-lang/cargo: I remember a vigorous debate over publishing crates with nightly Cargo features, but I can't recollect our exact plan of action. The discussion is logged here: https://paper.dropbox.com/doc/Unstable-Cargo-features-JBYMdsUYcO3FyW8Ubkjoz.

I think we just need to allow to publish crates with unstable cargo features, for the same reason we allow unstable rust features: you need explicit opt-in, even for deps. This is covered by Cargo tests: https://github.com/rust-lang/cargo/blob/9f097787b04b06cdde4fc42b26a531b22c1b37a6/tests/testsuite/cargo_features.rs#L115-L215.

I am not sure if we have ever implemented crates.io side of validation?

7 years agoAuto merge of #5613 - oli-obk:master, r=matklad
bors [Wed, 6 Jun 2018 17:32:01 +0000 (17:32 +0000)]
Auto merge of #5613 - oli-obk:master, r=matklad

Allow rustc bootstrap to use unstable features even though it's using a beta-cargo

This is the sane alternative to https://github.com/rust-lang/rust/pull/51322#issuecomment-394828839

cc @kennytm

7 years agoOrder can be important if cargo tests are run inside the rustc build system
Oliver Schneider [Wed, 6 Jun 2018 17:22:58 +0000 (19:22 +0200)]
Order can be important if cargo tests are run inside the rustc build system

7 years agoAllow rustc bootstrap to use unstable features even though it's using a beta-cargo
Oliver Schneider [Wed, 6 Jun 2018 12:33:50 +0000 (14:33 +0200)]
Allow rustc bootstrap to use unstable features even though it's using a beta-cargo

7 years agoAuto merge of #5607 - ehuss:config-rustc, r=matklad
bors [Mon, 4 Jun 2018 15:10:04 +0000 (15:10 +0000)]
Auto merge of #5607 - ehuss:config-rustc, r=matklad

Remove some minor, unused code.

I think this was left behind as part of #5359.

7 years agoRemove some minor, unused code.
Eric Huss [Mon, 4 Jun 2018 15:08:37 +0000 (08:08 -0700)]
Remove some minor, unused code.

I think this was left behind as part of #5359.

7 years agoAuto merge of #5604 - debris:issue_5602, r=matklad
bors [Mon, 4 Jun 2018 08:04:20 +0000 (08:04 +0000)]
Auto merge of #5604 - debris:issue_5602, r=matklad

fixed 5602, expose cached build script output in json output

fixes #5602

7 years agoextracted duplicated chunk of code into `fn emit_build_output`, removed redundant...
debris [Mon, 4 Jun 2018 08:03:13 +0000 (10:03 +0200)]
extracted duplicated chunk of code into `fn emit_build_output`, removed redundant line from `compiler_json_error_format` test

7 years agoAuto merge of #5589 - boxdot:issue-5267, r=matklad
bors [Sun, 3 Jun 2018 21:48:44 +0000 (21:48 +0000)]
Auto merge of #5589 - boxdot:issue-5267, r=matklad

Clean error msg when lockfile contains duplicate packages.

Resolves #5267.

(Implemented at RustFest Paris `impl days`.)

7 years agoImprove error message on duplicate packages in lockfile.
boxdot [Sun, 3 Jun 2018 21:40:27 +0000 (23:40 +0200)]
Improve error message on duplicate packages in lockfile.

7 years agoMove duplicate pkgs check to resolve builder.
boxdot [Sun, 3 Jun 2018 20:55:50 +0000 (22:55 +0200)]
Move duplicate pkgs check to resolve builder.

7 years agofixed #5602, expose cached build script output in json output
debris [Sun, 3 Jun 2018 15:09:44 +0000 (17:09 +0200)]
fixed #5602, expose cached build script output in json output

7 years agoAllow publishing crates with nightly features
Aleksey Kladov [Sun, 3 Jun 2018 07:10:13 +0000 (10:10 +0300)]
Allow publishing crates with nightly features

7 years agoAuto merge of #5506 - ehuss:config-profile, r=alexcrichton
bors [Sat, 2 Jun 2018 18:24:26 +0000 (18:24 +0000)]
Auto merge of #5506 - ehuss:config-profile, r=alexcrichton

Config Profiles (RFC 2282 Part 2)

Notes:
- `-Z config-profile` CLI option is required to use.
- Config values no longer reject mixed base types (integer, string, boolean) in order to support the mixed types in profiles.

7 years agoAuto merge of #5599 - gibix:fix/4746, r=alexcrichton
bors [Fri, 1 Jun 2018 15:44:37 +0000 (15:44 +0000)]
Auto merge of #5599 - gibix:fix/4746, r=alexcrichton

fix #4746 and add test

7 years agofix #4746 and add test
gibix [Fri, 1 Jun 2018 10:38:16 +0000 (12:38 +0200)]
fix #4746 and add test

Signed-off-by: gibix <gibix@riseup.net>
7 years agoUse new config API.
Eric Huss [Thu, 31 May 2018 16:54:37 +0000 (09:54 -0700)]
Use new config API.

Also, require "override" feature if used in a config.

7 years agoConfig Profiles (RFC 2282 Part 2)
Eric Huss [Sun, 6 May 2018 22:14:46 +0000 (15:14 -0700)]
Config Profiles (RFC 2282 Part 2)

Notes:
- `-Z config-profile` CLI option is required to use.
- Config values no longer reject mixed base types (integer, string, boolean) in order to support the mixed types in profiles.

7 years agoAuto merge of #5552 - ehuss:config-serde, r=alexcrichton
bors [Wed, 30 May 2018 20:12:02 +0000 (20:12 +0000)]
Auto merge of #5552 - ehuss:config-serde, r=alexcrichton

Typed Config Access

This introduces a new API for accessing config values using serde to
automatically convert to a destination type.  By itself this shouldn't
introduce any behavioral changes (except for some slight wording changes to
error messages).  However, it unlocks the ability to use richer data types in
the future (such as `profile`, or `source`).  Example:

```rust
let p: Option<TomlProfile> = config.get("profile.dev")?;
```

Supports environment variables when fetching structs or maps.  Note that it can
support underscores in env var for struct field names, but not maps.  So for
example, "opt_level" works, but not "serde_json" (example:
`CARGO_PROFILE_DEV_OVERRIDES_serde_OPT_LEVEL`).  I don't have any ideas for a
workaround (though I feel this is an overuse of env vars).

It supports environment variables for lists.  The value in the env var will get
appended to anything in the config.  It uses TOML syntax, and currently only
supports strings.  Example:  `CARGO_FOO=['a', 'b']`.  I did *not* modify
`get_list` to avoid changing behavior, but that can easily be changed.

7 years agoAuto merge of #5590 - esteve:libname-doc, r=matklad
bors [Tue, 29 May 2018 11:19:13 +0000 (11:19 +0000)]
Auto merge of #5590 - esteve:libname-doc, r=matklad

Handle the case where the name of a library is different from the package's

Resolves #5568

7 years agoDisable cargo doc --open tests on Windows and macOS.
Esteve Fernandez [Tue, 29 May 2018 10:34:27 +0000 (12:34 +0200)]
Disable cargo doc --open tests on Windows and macOS.

7 years agoAdded two more tests: one where a package contains a library and a binary and another...
Esteve Fernandez [Tue, 29 May 2018 10:23:50 +0000 (12:23 +0200)]
Added two more tests: one where a package contains a library and a binary and another where it only contains a binary.

7 years agoAuto merge of #5591 - simonasker:correct-command-paths, r=matklad
bors [Tue, 29 May 2018 10:20:08 +0000 (10:20 +0000)]
Auto merge of #5591 - simonasker:correct-command-paths, r=matklad

Correct command directory paths

r? @matklad

7 years agoUse [/] instead of hardcoded / so that it's portable on Windows.
Esteve Fernandez [Tue, 29 May 2018 10:05:12 +0000 (12:05 +0200)]
Use [/] instead of hardcoded / so that it's portable on Windows.

7 years agoDon't pass --open as an argument.
Esteve Fernandez [Tue, 29 May 2018 10:04:38 +0000 (12:04 +0200)]
Don't pass --open as an argument.

7 years agoCorrect command directory paths
Simon Andersson [Tue, 29 May 2018 10:04:59 +0000 (12:04 +0200)]
Correct command directory paths

7 years agoAdded test where the name of the library is different from the package's.
Esteve Fernandez [Tue, 29 May 2018 09:55:29 +0000 (11:55 +0200)]
Added test where the name of the library is different from the package's.

7 years agoAuto merge of #5584 - boxdot:master, r=matklad
bors [Tue, 29 May 2018 09:41:12 +0000 (09:41 +0000)]
Auto merge of #5584 - boxdot:master, r=matklad

Verify that src dir wasn't modified by build.rs when publishing

Fixes issue #5073.

Implemented during RustFest Paris `impl days`.

7 years agoFix test to work on Windows
Gabriel Féron [Tue, 29 May 2018 09:38:27 +0000 (11:38 +0200)]
Fix test to work on Windows

7 years agoAdd more instructions to error message
Gabriel Féron [Tue, 29 May 2018 09:05:34 +0000 (11:05 +0200)]
Add more instructions to error message

7 years agoA package will always contain at least one library or a binary.
Esteve Fernandez [Tue, 29 May 2018 09:03:16 +0000 (11:03 +0200)]
A package will always contain at least one library or a binary.

7 years agoCompare pkg ids based on their encoding.
Dimitri Wegner [Tue, 29 May 2018 08:46:10 +0000 (10:46 +0200)]
Compare pkg ids based on their encoding.

This comparison is needed, since we want to figure out which packages
are duplicate in the lockfile. Package coming from different
registries will be different in the lockfile, but not local packages
with the same name and version but different path.

7 years agoClean error msg when lockfile contains duplicate packages.
boxdot [Mon, 28 May 2018 17:02:42 +0000 (19:02 +0200)]
Clean error msg when lockfile contains duplicate packages.

7 years agoAuto merge of #5587 - matklad:rustdoc-target, r=alexcrichton
bors [Mon, 28 May 2018 16:49:15 +0000 (16:49 +0000)]
Auto merge of #5587 - matklad:rustdoc-target, r=alexcrichton

Support `--target` argument in `cargo rustdoc`

We don't support `--target` in `cargo rustdoc`. Seems like an omission to me? We support it in `cargo rustc`. Discovered in https://github.com/rust-lang/cargo/pull/5543#issuecomment-392525154.

7 years agoSupport `--target` argument in `cargo rustdoc`
Aleksey Kladov [Mon, 28 May 2018 14:27:52 +0000 (17:27 +0300)]
Support `--target` argument in `cargo rustdoc`

7 years agoUse auto split argument in test
Gabriel Féron [Mon, 28 May 2018 12:43:17 +0000 (14:43 +0200)]
Use auto split argument in test

7 years agoProvide more context when src files changed while packaging
Gabriel Féron [Mon, 28 May 2018 12:34:47 +0000 (14:34 +0200)]
Provide more context when src files changed while packaging

Co-authored-by: boxdot <d@zerovolt.org>
7 years agoDocument that build scripts should not modify files outside OUT_DIR.
boxdot [Mon, 28 May 2018 12:11:52 +0000 (14:11 +0200)]
Document that build scripts should not modify files outside OUT_DIR.

Co-authored-by: Gabriel Feron <feron.gabriel@gmail.com>
7 years agoAdd cargo --no-verify test when checking that src dir was not modified while publishing
Gabriel Féron [Mon, 28 May 2018 11:59:35 +0000 (13:59 +0200)]
Add cargo --no-verify test when checking that src dir was not modified while publishing

7 years agoAdd test to check that publish fails when src directory was changed.
Gabriel Féron [Mon, 28 May 2018 10:05:46 +0000 (12:05 +0200)]
Add test to check that publish fails when src directory was changed.

Co-authored-by: boxdot <d@zerovolt.org>
7 years agoVerify that src dir was not modified by build.rs during publish.
boxdot [Mon, 28 May 2018 10:06:03 +0000 (12:06 +0200)]
Verify that src dir was not modified by build.rs during publish.

Co-authored-by: Gabriel Feron <feron.gabriel@gmail.com>
7 years agoAuto merge of #5574 - kornelski:names, r=matklad
bors [Mon, 28 May 2018 09:56:34 +0000 (09:56 +0000)]
Auto merge of #5574 - kornelski:names, r=matklad

A more complete example of authors

Documentation doesn't show how to specify author names or how to specify multiple authors.

7 years agoAuto merge of #5570 - alexcrichton:fix-deadlock, r=matklad
bors [Mon, 28 May 2018 09:34:35 +0000 (09:34 +0000)]
Auto merge of #5570 - alexcrichton:fix-deadlock, r=matklad

Fix an issue of deadlock in Cargo

Currently Cargo can deadlock itself via file locks in somewhat obscure
scenarios. One way to trigger this scenario is by causing the index to fail
being created, for example through an invalid `init.templatedir` configuration.

This commit takes the strategy of solving two bugs:

* First, the deadlock is fixed. This is done by manually ensuring that the
  current deadlock doesn't happen by scheduling cached work to happen outside
  the scope of a lock.
* Second, the initialization of the registry's index is fixed. We turn off the
  usage of external templates as we don't want to use them for this internally
  managed repository anyway.

Closes #5551

7 years agoAuto merge of #5581 - kngwyu:for-racer, r=alexcrichton
bors [Mon, 28 May 2018 02:45:30 +0000 (02:45 +0000)]
Auto merge of #5581 - kngwyu:for-racer, r=alexcrichton

Add missing reexport for #5572

Sorry I forgot to change `mod.rs` in #5572

7 years agoAuto merge of #5580 - ehuss:doc-build-plan, r=alexcrichton
bors [Mon, 28 May 2018 02:11:09 +0000 (02:11 +0000)]
Auto merge of #5580 - ehuss:doc-build-plan, r=alexcrichton

Document unstable --build-plan

7 years agoAdd missing reexport for #5572
Yuji Kanagawa [Mon, 28 May 2018 02:06:25 +0000 (11:06 +0900)]
Add missing reexport for #5572

7 years agoDocument unstable --build-plan
Eric Huss [Sun, 27 May 2018 22:59:29 +0000 (15:59 -0700)]
Document unstable --build-plan

7 years agoAuto merge of #5578 - cardoe:extend-ci, r=alexcrichton
bors [Sun, 27 May 2018 22:52:20 +0000 (22:52 +0000)]
Auto merge of #5578 - cardoe:extend-ci, r=alexcrichton

add GitLab CI to the CI docs

Cargo supports GitLab CI natively for CI badges so include a basic
example of how to use it in the CI section of the documentation.

7 years agoadd GitLab CI to the CI docs
Doug Goldstein [Sun, 27 May 2018 19:28:54 +0000 (14:28 -0500)]
add GitLab CI to the CI docs

Cargo supports GitLab CI natively for CI badges so include a basic
example of how to use it in the CI section of the documentation.

7 years agoAuto merge of #5572 - kngwyu:for-racer, r=alexcrichton
bors [Sun, 27 May 2018 19:55:37 +0000 (19:55 +0000)]
Auto merge of #5572 - kngwyu:for-racer, r=alexcrichton

Make add_overrides and get_resolved_packages pub

For https://github.com/racer-rust/racer/pull/855.
Now  we're planning to use cargo to resolve dependencies, but for RLS we can't write `Cargo.lock`.
So we have to call `resolve_with_previous` directly, and want to use these functions.

7 years agoAuto merge of #5576 - matklad:revert-deps, r=alexcrichton
bors [Sun, 27 May 2018 16:04:30 +0000 (16:04 +0000)]
Auto merge of #5576 - matklad:revert-deps, r=alexcrichton

Revert "Auto merge of #5461 - matklad:meta-rename, r=alexcrichton"

This reverts commit d0d3cb5ac963eb8c3f83d079b6a547992cac2cc4, reversing
changes made to 757112c39f8a5a4f6ffa0b7e29d23a56f03fb931.

It is unclear if the design is right, see
https://github.com/rust-lang/cargo/pull/5558#issuecomment-391791164

7 years agoRevert "Auto merge of #5461 - matklad:meta-rename, r=alexcrichton"
Aleksey Kladov [Sun, 27 May 2018 08:54:25 +0000 (11:54 +0300)]
Revert "Auto merge of #5461 - matklad:meta-rename, r=alexcrichton"

This reverts commit d0d3cb5ac963eb8c3f83d079b6a547992cac2cc4, reversing
changes made to 757112c39f8a5a4f6ffa0b7e29d23a56f03fb931.

It is unclear if the design is right, see
https://github.com/rust-lang/cargo/pull/5558#issuecomment-391791164

7 years agoA more complete example of authors
Kornel [Sat, 26 May 2018 15:41:47 +0000 (16:41 +0100)]
A more complete example of authors

7 years agoMake add_overrides and get_resolved_packages pub
kngwyu [Sat, 26 May 2018 12:31:59 +0000 (21:31 +0900)]
Make add_overrides and get_resolved_packages pub

7 years agoFix an issue of deadlock in Cargo
Alex Crichton [Sat, 26 May 2018 02:12:53 +0000 (19:12 -0700)]
Fix an issue of deadlock in Cargo

Currently Cargo can deadlock itself via file locks in somewhat obscure
scenarios. One way to trigger this scenario is by causing the index to fail
being created, for example through an invalid `init.templatedir` configuration.

This commit takes the strategy of solving two bugs:

* First, the deadlock is fixed. This is done by manually ensuring that the
  current deadlock doesn't happen by scheduling cached work to happen outside
  the scope of a lock.
* Second, the initialization of the registry's index is fixed. We turn off the
  usage of external templates as we don't want to use them for this internally
  managed repository anyway.

Closes #5551

7 years agoAuto merge of #5564 - mati865:metadata_fix, r=alexcrichton
bors [Fri, 25 May 2018 14:10:01 +0000 (14:10 +0000)]
Auto merge of #5564 - mati865:metadata_fix, r=alexcrichton

Always replace metadata when replacing package

Fixes https://github.com/rust-lang/cargo/issues/4582

I'm having problem writing test for it.
The test should install binary, make commit and reinstall binary, this part is done.
To know if it was done properly we need to compare git revision of HEAD and installed binary and that's where the problems begin...

7 years agoAlways replace metadata when replacing package
Mateusz Mikuła [Thu, 24 May 2018 09:39:56 +0000 (11:39 +0200)]
Always replace metadata when replacing package

Fixes https://github.com/rust-lang/cargo/issues/4582

7 years agoUse `failure::Error` for ConfigError instead of a String.
Eric Huss [Thu, 24 May 2018 22:14:13 +0000 (15:14 -0700)]
Use `failure::Error` for ConfigError instead of a String.

7 years agoAuto merge of #5556 - alexcrichton:fix, r=matklad
bors [Thu, 24 May 2018 18:30:29 +0000 (18:30 +0000)]
Auto merge of #5556 - alexcrichton:fix, r=matklad

Copy `--all-features` request to all workspace members

This fixes an accidental regression introduced in #5012 where the
`--all-features` CLI flag was only propagated to the "main crate" as opposed to
all workspace packages. This behavior has [already been deemed][pr] as
"basically not what you want", but for now it's best to avoid the regression.

Closes #5518

[pr]: https://github.com/rust-lang/cargo/pull/5353

7 years agoAuto merge of #5534 - matklad:feature-workflow, r=alexcrichton
bors [Thu, 24 May 2018 07:19:13 +0000 (07:19 +0000)]
Auto merge of #5534 - matklad:feature-workflow, r=alexcrichton

Feature workflow

Docs based on todays discussion.

@dwijnand you seem to actually read the docs, so I am curious how do you feel about it? :)

We have a **lot** of feature-requests for Cargo, but we care about long-term maintainability and backwards comparability, so we stick to the conservative side of things. This leads to a situation when there are a lot of `C-feature-request` tagged issues on the repo, but only a fraction of those are "yeah, we definitely want that in Cargo", while most are "this **could** be useful, but we are not really sure if it belongs to Cargo", and we'd love to signal which issues are "it would be awesome if you implement this" and which are "you could try to implement this, but there's no guarantee that the PR will be merged".

7 years agoTweak the feature lifecycle notes
Dale Wijnand [Mon, 14 May 2018 22:03:59 +0000 (00:03 +0200)]
Tweak the feature lifecycle notes

7 years agoSome hints about feature lifecycle
Aleksey Kladov [Mon, 14 May 2018 21:23:05 +0000 (00:23 +0300)]
Some hints about feature lifecycle

7 years agoClarify the meaning of feature-related labels
Aleksey Kladov [Mon, 14 May 2018 21:11:54 +0000 (00:11 +0300)]
Clarify the meaning of feature-related labels

7 years agoAuto merge of #5563 - ehuss:cargotest-doc, r=alexcrichton
bors [Thu, 24 May 2018 05:55:01 +0000 (05:55 +0000)]
Auto merge of #5563 - ehuss:cargotest-doc, r=alexcrichton

cargotest: Add some more docs

Hopefully this isn't too wordy.  This isn't intended for rustdoc output, but generally to be read in-editor.

7 years agocargotest: Add some more docs
Eric Huss [Thu, 24 May 2018 04:09:27 +0000 (21:09 -0700)]
cargotest: Add some more docs

7 years agoAdd `-Z advanced-env` feature flag.
Eric Huss [Wed, 23 May 2018 16:30:54 +0000 (09:30 -0700)]
Add `-Z advanced-env` feature flag.

7 years agoAuto merge of #5559 - alexcrichton:update-core-foundation, r=alexcrichton
bors [Wed, 23 May 2018 02:47:32 +0000 (02:47 +0000)]
Auto merge of #5559 - alexcrichton:update-core-foundation, r=alexcrichton

Update version of core-foundation crate

7 years agoUpdate version of core-foundation crate
Alex Crichton [Wed, 23 May 2018 02:46:30 +0000 (19:46 -0700)]
Update version of core-foundation crate

7 years agoCleanup, address some comments.
Eric Huss [Tue, 22 May 2018 23:55:53 +0000 (16:55 -0700)]
Cleanup, address some comments.

7 years agoSimplify net.retry config.
Eric Huss [Tue, 22 May 2018 22:54:31 +0000 (15:54 -0700)]
Simplify net.retry config.

7 years agoDrop num_traits and rely on serde to handle numeric limits.
Eric Huss [Tue, 22 May 2018 22:06:06 +0000 (15:06 -0700)]
Drop num_traits and rely on serde to handle numeric limits.

7 years agoAuto merge of #5557 - ehuss:linux-cbfct, r=alexcrichton
bors [Tue, 22 May 2018 14:08:52 +0000 (14:08 +0000)]
Auto merge of #5557 - ehuss:linux-cbfct, r=alexcrichton

Fix test failure in changing_bin_features_caches_targets for Linux.

Fixes rust-lang/rust#50962.

My theory is that while copying the binary, another thread forked with the fd
open.  The copy finishes and attempts to exec before the other child execs (and
closes the writeable fd).

I was able to easily repro this on linux.  I ran some stress tests of this fix
locally on linux and on appveyor, and was unable to trigger it again.

7 years agoFix test failure in changing_bin_features_caches_targets for Linux.
Eric Huss [Tue, 22 May 2018 11:45:46 +0000 (04:45 -0700)]
Fix test failure in changing_bin_features_caches_targets for Linux.

Fixes rust-lang/rust#50962.

My theory is that while copying the binary, another thread forked with the fd
open.  The copy finishes and attempts to exec before the other child execs (and
closes the writeable fd).

I was able to easily repro this on linux.  I ran some stress tests of this fix
locally on linux and on appveyor, and was unable to trigger it again.

7 years agoCopy `--all-features` request to all workspace members
Alex Crichton [Mon, 21 May 2018 19:57:25 +0000 (12:57 -0700)]
Copy `--all-features` request to all workspace members

This fixes an accidental regression introduced in #5012 where the
`--all-features` CLI flag was only propagated to the "main crate" as opposed to
all workspace packages. This behavior has [already been deemed][pr] as
"basically not what you want", but for now it's best to avoid the regression.

Closes #5518

[pr]: https://github.com/rust-lang/cargo/pull/5353

7 years agoVerify stderr output for warnings in test.
Eric Huss [Mon, 21 May 2018 19:42:43 +0000 (12:42 -0700)]
Verify stderr output for warnings in test.

7 years agoTyped Config Access
Eric Huss [Tue, 15 May 2018 04:57:47 +0000 (21:57 -0700)]
Typed Config Access

This introduces a new API for accessing config values using serde to
automatically convert to a destination type.  By itself this shouldn't
introduce any behavioral changes (except for some slight wording changes to
error messages).  However, it unlocks the ability to use richer data types in
the future (such as `profile`, or `source`).  Example:

```rust
let p: Option<TomlProfile> = config.get("profile.dev")?;
```

Supports environment variables when fetching structs or maps.  Note that it can
support underscores in env var for struct field names, but not maps.  So for
example, "opt_level" works, but not "serde_json" (example:
`CARGO_PROFILE_DEV_OVERRIDES_serde_OPT_LEVEL`).  I don't have any ideas for a
workaround (though I feel this is an overuse of env vars).

It supports environment variables for lists.  The value in the env var will get
appended to anything in the config.  It uses TOML syntax, and currently only
supports strings.  Example:  `CARGO_FOO=['a', 'b']`.  I did *not* modify
`get_list` to avoid changing behavior, but that can easily be changed.

7 years agoAuto merge of #5541 - ehuss:fix-rustdoc-edition, r=alexcrichton
bors [Tue, 15 May 2018 17:53:20 +0000 (17:53 +0000)]
Auto merge of #5541 - ehuss:fix-rustdoc-edition, r=alexcrichton

Fix passing --edition to rustdoc during doctests.

Fixes #5538

7 years agoFix passing --edition to rustdoc during doctests.
Eric Huss [Tue, 15 May 2018 16:29:34 +0000 (09:29 -0700)]
Fix passing --edition to rustdoc during doctests.

Fixes #5538

7 years agoAuto merge of #5540 - ehuss:fix-build-plan-tests, r=alexcrichton
bors [Tue, 15 May 2018 14:55:06 +0000 (14:55 +0000)]
Auto merge of #5540 - ehuss:fix-build-plan-tests, r=alexcrichton

Fix tests when CARGO_TARGET_DIR is set.

Fixes #5536

7 years agoFix tests when CARGO_TARGET_DIR is set.
Eric Huss [Tue, 15 May 2018 14:52:24 +0000 (07:52 -0700)]
Fix tests when CARGO_TARGET_DIR is set.

Fixes #5536

7 years agoAuto merge of #5537 - eddyb:no-trans, r=matklad
bors [Tue, 15 May 2018 08:20:05 +0000 (08:20 +0000)]
Auto merge of #5537 - eddyb:no-trans, r=matklad

Remove -Zno-trans test.

Needed for https://github.com/rust-lang/rust/pull/50615 (where the flag is now `-Zno-codegen`) - which revealed that the test shouldn't even exist anymore, and was accidentally added back (https://github.com/rust-lang/rust/pull/50615#issuecomment-388968326).

7 years agoRemove -Zno-trans test.
Eduard-Mihai Burtescu [Tue, 15 May 2018 07:14:03 +0000 (10:14 +0300)]
Remove -Zno-trans test.

7 years agoAuto merge of #5535 - ehuss:ignore-test-tab, r=alexcrichton
bors [Tue, 15 May 2018 06:01:29 +0000 (06:01 +0000)]
Auto merge of #5535 - ehuss:ignore-test-tab, r=alexcrichton

Ignore <tab> in libtest output.

rust-lang/rust#50387 is changing the output from libtest which affected a few Cargo tests.

7 years agoIgnore <tab> in libtest output.
Eric Huss [Tue, 15 May 2018 05:02:34 +0000 (22:02 -0700)]
Ignore <tab> in libtest output.

rust-lang/rust#50387 is changing the output from libtest which affected a few Cargo tests.

7 years agoAuto merge of #5533 - dwijnand:patch-1, r=matklad
bors [Mon, 14 May 2018 20:53:12 +0000 (20:53 +0000)]
Auto merge of #5533 - dwijnand:patch-1, r=matklad

Detail how to run locally-built nightly cargo

Documenting from https://gitter.im/rust-lang/cargo?at=5af6d407862c5e33e92bf2ca.

Apologies if this is documenting too much what is effectively rustup behaviour.

Let me know if it's time to replace this with links to rustup docs instead.

7 years agoDetail how to run locally-built nightly cargo
Dale Wijnand [Mon, 14 May 2018 20:34:41 +0000 (22:34 +0200)]
Detail how to run locally-built nightly cargo

Documenting from https://gitter.im/rust-lang/cargo?at=5af6d407862c5e33e92bf2ca.

7 years agoAuto merge of #5527 - tcr:patch-1, r=alexcrichton
bors [Sun, 13 May 2018 15:25:21 +0000 (15:25 +0000)]
Auto merge of #5527 - tcr:patch-1, r=alexcrichton

Point Source Replacement to the Overriding Dependencies section

This would've saved me a minute. This mirrors a similarly helpful caveat in [the [patch] section](https://doc.rust-lang.org/cargo/reference/manifest.html#the-patch-section).

7 years agoPoint Source Replacement to the Overriding Dependencies section
Tim Ryan [Sun, 13 May 2018 05:51:54 +0000 (01:51 -0400)]
Point Source Replacement to the Overriding Dependencies section

This would've saved me a minute. This mirrors a similarly helpful caveat in [the [patch] section](https://doc.rust-lang.org/cargo/reference/manifest.html#the-patch-section).

7 years agoAuto merge of #5522 - DarkDrek:user_agent_option, r=alexcrichton
bors [Fri, 11 May 2018 23:38:48 +0000 (23:38 +0000)]
Auto merge of #5522 - DarkDrek:user_agent_option, r=alexcrichton

Add option to set user-agent

Fixes #5494

7 years agoAdd option to set user-agent
DarkDrek [Fri, 11 May 2018 22:41:15 +0000 (00:41 +0200)]
Add option to set user-agent

Fixes #5494

7 years agoAuto merge of #5520 - alexcrichton:check-with-full-proc-macro, r=matklad
bors [Fri, 11 May 2018 22:55:05 +0000 (22:55 +0000)]
Auto merge of #5520 - alexcrichton:check-with-full-proc-macro, r=matklad

Fix mode generated in `maybe_lib`

The new `mode` for the library dependency is dependent on the library target
rather than the target which is the reason for the dependency on the library!

Closes rust-lang/rust#50640

7 years agoAuto merge of #5519 - matthiaskrgr:typos, r=alexcrichton
bors [Fri, 11 May 2018 22:31:25 +0000 (22:31 +0000)]
Auto merge of #5519 - matthiaskrgr:typos, r=alexcrichton

NFC: fix a couple of typos, found by codespell.