]> git.proxmox.com Git - cargo.git/log
cargo.git
5 years agoAuto merge of #7303 - alexcrichton:duplicate-patch, r=ehuss
bors [Tue, 27 Aug 2019 22:12:43 +0000 (22:12 +0000)]
Auto merge of #7303 - alexcrichton:duplicate-patch, r=ehuss

Fixes around multiple `[patch]` per crate

This commit fixes a few bugs in handling of `[patch]` where multiple
version of the same crate name have been patched in. Two sub-issues were
discovered when investigating #7264:

* The first issue is that the source of the assertion, the logic in
  `lock`, revealed a fundamental flaw in the logic. The `lock` function
  serves the purpose of applying a lock file to a dependency candidate
  and ensure that it stays within locked versions of dependencies, if
  they're previously found. The logic here to handle `[patch]`, however,
  happened a bit too late and was a bit too zealous to simply lock a
  dependency by name instead of accounting for the version as well.

  The updated logic is to move the locking of dependencies here to
  during the normal iteration over the list of dependencies. Adjacent to
  `matches_id` we check `matches_ignoring_source`. If the latter returns
  `true` then we double-check that the previous dependency is still in
  `[patch]`, and then we let it through. This means that patches with
  multiple versions should be correctly handled where edges drawn with
  `[patch]` are preserved.

* The second issue, after fixing this, was found where if the exact same
  version was listed in `[patch]` multiple times then we would
  continuously update the original source since one of the replacements
  gets lost along the way. This commit adds a first-class warning
  disallowing patches pointing to the exact same crate version, since we
  don't have a way to prioritize amongst them anyway.

Closes #7264

5 years agoFixes around multiple `[patch]` per crate
Alex Crichton [Mon, 26 Aug 2019 19:52:26 +0000 (12:52 -0700)]
Fixes around multiple `[patch]` per crate

This commit fixes a few bugs in handling of `[patch]` where multiple
version of the same crate name have been patched in. Two sub-issues were
discovered when investigating #7264:

* The first issue is that the source of the assertion, the logic in
  `lock`, revealed a fundamental flaw in the logic. The `lock` function
  serves the purpose of applying a lock file to a dependency candidate
  and ensure that it stays within locked versions of dependencies, if
  they're previously found. The logic here to handle `[patch]`, however,
  happened a bit too late and was a bit too zealous to simply lock a
  dependency by name instead of accounting for the version as well.

  The updated logic is to move the locking of dependencies here to
  during the normal iteration over the list of dependencies. Adjacent to
  `matches_id` we check `matches_ignoring_source`. If the latter returns
  `true` then we double-check that the previous dependency is still in
  `[patch]`, and then we let it through. This means that patches with
  multiple versions should be correctly handled where edges drawn with
  `[patch]` are preserved.

* The second issue, after fixing this, was found where if the exact same
  version was listed in `[patch]` multiple times then we would
  continuously update the original source since one of the replacements
  gets lost along the way. This commit adds a first-class warning
  disallowing patches pointing to the exact same crate version, since we
  don't have a way to prioritize amongst them anyway.

Closes #7264

5 years agoAuto merge of #7306 - alexcrichton:mkdir-error, r=ehuss
bors [Tue, 27 Aug 2019 20:52:36 +0000 (20:52 +0000)]
Auto merge of #7306 - alexcrichton:mkdir-error, r=ehuss

Improve error messages on mkdir failure

This commit ensures that `fs::create_dir*` isn't called throughout Cargo
and is instead routed through our own wrapper `paths::create_dir_all`
which brings with it a few benefits:

* Gracefully handles when the directory already exists (which is the
  behavior we always want anyway)
* Includes the path name in the error message of what failed
* Handles races of creating a directory by default

Closes #7304

5 years agoImprove error messages on mkdir failure
Alex Crichton [Tue, 27 Aug 2019 19:52:49 +0000 (12:52 -0700)]
Improve error messages on mkdir failure

This commit ensures that `fs::create_dir*` isn't called throughout Cargo
and is instead routed through our own wrapper `paths::create_dir_all`
which brings with it a few benefits:

* Gracefully handles when the directory already exists (which is the
  behavior we always want anyway)
* Includes the path name in the error message of what failed
* Handles races of creating a directory by default

Closes #7304

5 years agoAuto merge of #7296 - okapia:zsh-completion, r=ehuss
bors [Tue, 27 Aug 2019 16:10:51 +0000 (16:10 +0000)]
Auto merge of #7296 - okapia:zsh-completion, r=ehuss

Update and improve zsh completion

I went through the zsh completion to clean it up, adapt it to zsh conventions, and to bring it up-to-date for new cargo options. For context, I'm one of the zsh developers and do know what I'm doing with zsh completion functions. As for cargo, I do use it but was referring to documentation here.

I added new functions for completion of installed crates and unstable flags.
Many subcommands had out-of-date option lists which I've updated, This isn't yet comprehensive, however.

Factored out the definition of some common options into variables - this explains the greater number of lines deleted than added.

Corrected the syntax of option exclusion lists which erroneously contained commas. It was also common for option arguments to be missing and = to not be allowed before them.

--verbose can be repeated so now has * instead of the self-exclusion. It and --quiet appear to be mutually exclusive, however.

I've given internal functions an _cargo prefix as per zsh conventions. This avoids name clashes. I also removed _get from the names - zsh convention is a plural noun for what is completed.

Completion of normal arguments to many subcommands was missing. In many cases, this is now just a description - e.g. "crate". _guard is needed in some cases so as not to break option completion. For rustc and rustdoc, it'll dispatch to their respective completions if they ever gain one, otherwise using default completion.

It now passes -s to _arguments to allow clumping of short options, -S for correct
handling of -- and -C for correct context handling. _arguments also changes some variables which should be declared local and I've restored these - ShellCheck had persuaded someone to remove them.

For unknown cargo subcommands, it will now try a _cargo-<subcommand>
function if found and fallback to _default allowing cargo plugins to
define their own completion. This is common zsh practice, see e.g. _git. And fallbacks to default completion are always a good idea - users don't tend to like filename completion being broken.

$curcontext is now updated to include the sub-command which provides more flexibility to users configuring zsh completion with zstyle.

5 years agoAuto merge of #7263 - alexcrichton:multipass, r=ehuss
bors [Tue, 27 Aug 2019 15:48:09 +0000 (15:48 +0000)]
Auto merge of #7263 - alexcrichton:multipass, r=ehuss

Document that `package` can be used in `[patch]`

This works to `[patch]` multiple versions of a crate, and turns out this
has worked since the inception of `package`!

Closes #6169

5 years agoDocument that `package` can be used in `[patch]`
Alex Crichton [Mon, 19 Aug 2019 16:41:50 +0000 (09:41 -0700)]
Document that `package` can be used in `[patch]`

This works to `[patch]` multiple versions of a crate, and turns out this
has worked since the inception of `package`!

Closes #6169

5 years agoAuto merge of #7294 - SnejUgal:fix-inconsistent-coloring, r=alexcrichton
bors [Mon, 26 Aug 2019 14:48:27 +0000 (14:48 +0000)]
Auto merge of #7294 - SnejUgal:fix-inconsistent-coloring, r=alexcrichton

Fix `error:`/`warning:` coloring inconsistency with rustc

When `rustc` prints an error, the word `error` is red, but the colon after it is white (and the same goes for `warn`, `note` and other messages). `cargo`, however, colors the colon as well, and it [looks inconsistent](https://user-images.githubusercontent.com/10610844/63640674-45040f00-c6cd-11e9-9ee9-6f6f44a51f83.png) when `rustc`'s output is followed by `cargo`'s side-by-side. If `cargo` prints the colon in white, the output [looks more accurate](https://user-images.githubusercontent.com/10610844/63640792-f2c3ed80-c6ce-11e9-9b6e-ba209a4f9788.png).

5 years agoUpdate and improve zsh completion
Oliver Kiddle [Sat, 24 Aug 2019 23:29:21 +0000 (01:29 +0200)]
Update and improve zsh completion

Added completion of installed crates and unstable flags along with
some newer options.
Factored out the definition of some common options into variables.
Corrected the syntax of option exclusion lists which contained commas
--verbose can be repeated so now has * instead of the self-exclusion
Internal functions given _cargo prefix as per zsh conventions
Completion of normal arguments to many subcommands was missing
Pass -s to _arguments to allow clumping of short options, -S for correct
handling of -- and -C for correct context handling.

For unknown cargo subcommands, it will now try a _cargo-<subcommand>
function if found and fallback to _default allowing cargo plugins to
define their own completion. This is common zsh practice, see e.g. _git.

5 years agoFix `error:`/`warning:` coloring inconsistency with rustc
SnejUgal [Sat, 24 Aug 2019 16:19:12 +0000 (23:19 +0700)]
Fix `error:`/`warning:` coloring inconsistency with rustc

5 years agoAuto merge of #7287 - SimonSapin:plugin, r=ehuss
bors [Sat, 24 Aug 2019 17:28:00 +0000 (17:28 +0000)]
Auto merge of #7287 - SimonSapin:plugin, r=ehuss

Tests: Import rustc_plugin from its new location

CC https://github.com/rust-lang/rust/pull/62727

5 years agoTests: Import rustc_plugin from its new location
Simon Sapin [Thu, 22 Aug 2019 13:53:40 +0000 (15:53 +0200)]
Tests: Import rustc_plugin from its new location

CC https://github.com/rust-lang/rust/pull/62727

5 years agoAuto merge of #7293 - ehuss:azure-badge, r=alexcrichton
bors [Fri, 23 Aug 2019 23:15:58 +0000 (23:15 +0000)]
Auto merge of #7293 - ehuss:azure-badge, r=alexcrichton

Update README azure badge.

The master branch is never built, so it said "never built".

5 years agoUpdate README azure badge.
Eric Huss [Fri, 23 Aug 2019 22:15:50 +0000 (15:15 -0700)]
Update README azure badge.

The master branch is never built, so it said "never built".

5 years agoAuto merge of #7277 - lzutao:bump-home, r=alexcrichton
bors [Thu, 22 Aug 2019 15:06:10 +0000 (15:06 +0000)]
Auto merge of #7277 - lzutao:bump-home, r=alexcrichton

Update home dependencies to v0.5

This home's release remove support for the old `.multirust`
directory. Also it fixes rustup_home and cargo_home implementation
when corresponding environment variables are absolute paths.

5 years agoAuto merge of #7279 - mouri111:fix-typo, r=ehuss
bors [Thu, 22 Aug 2019 02:06:29 +0000 (02:06 +0000)]
Auto merge of #7279 - mouri111:fix-typo, r=ehuss

Fix typo

5 years agoFix typo
Masato Mouri [Thu, 22 Aug 2019 01:49:26 +0000 (10:49 +0900)]
Fix typo

5 years agoUpdate home dependencies to v0.5
Lzu Tao [Wed, 21 Aug 2019 13:24:06 +0000 (20:24 +0700)]
Update home dependencies to v0.5

This home's release remove support for the old `.multirust`
directory. Also it fixes rustup_home and cargo_home implementation
when corresponding environment variables are absolute paths.

5 years agoAuto merge of #7275 - alexcrichton:update-libgit2, r=ehuss
bors [Tue, 20 Aug 2019 21:10:10 +0000 (21:10 +0000)]
Auto merge of #7275 - alexcrichton:update-libgit2, r=ehuss

Update libgit2 dependencies

Pulls in a few fixes for libgit2, including some security-related
updates.

5 years agoUpdate libgit2 dependencies
Alex Crichton [Tue, 20 Aug 2019 20:05:51 +0000 (13:05 -0700)]
Update libgit2 dependencies

Pulls in a few fixes for libgit2, including some security-related
updates.

5 years agoAuto merge of #7262 - alexcrichton:fix-line-endings, r=ehuss
bors [Tue, 20 Aug 2019 16:11:35 +0000 (16:11 +0000)]
Auto merge of #7262 - alexcrichton:fix-line-endings, r=ehuss

Fix old lockfile encoding wrt newlines

This commit fixes "old lockfile" encodings back to what they were prior
to #7070 with respect to newlines. The changes in #7070 accidentally
introduced a change where old lockfiles might have some extraneous
newlines removed unintentionally.

In #7070 it was attempted to clean up how newlines are emitted to ensure
a trailing blank newline never shows up at the end of the file, but this
acccidentally regressed cases where today we actually do have blank
newlines at the end of lock files. This commit instead restores all the
previous newline handling, and then scopes the "remove trailing
newlines" fix to specifically just the new encoding.

Closes #7254

5 years agoAuto merge of #7268 - benesch:dsym-uplifting, r=alexcrichton
bors [Tue, 20 Aug 2019 14:04:06 +0000 (14:04 +0000)]
Auto merge of #7268 - benesch:dsym-uplifting, r=alexcrichton

Fix dSYM uplifting when symlink is broken

We were sporadically but persistently seeing errors like

    failed to link or copy `.../target/debugs/deps/bin-264030cd6c8a02be.dSYM` to `.../target/debug/bin.dSYM`

    Caused by:
      the source path is not an existing regular file

while running `cargo build`. Once the error occurs once, `cargo build`
will fail forever with the same error until `target/debug/bin.dSYM` is
manually unlinked.

After some investigation, I've determined that this situation arises
when the target of `bin.dSYM` goes missing. For example, if bin.dSYM is
pointing at `deps/bin-86908f0fa7f1440e.dSYM`, and
`deps/bin-86908f0fa7f1440e.dSYM` does not exist, then this error will
occur. I'm still not clear on why the underlying dSYM bundle
sporadically goes missing--perhaps it's the result of pressing Ctrl-C at
the wrong moment?--but Cargo should at least be able to handle this
situation better.

It turns out that Cargo was getting confused by the broken symlink. When
it goes to install the new `target/debug/bin.dSYM` link, it will remove
the existing `target/debug/bin.dSYM` file, if it exists. Unfortunately,
Cargo was checking whether the *target* of that symlink existed (e.g.,
`deps/bin-86908f0fa7f1440e.dSYM`, which in the buggy case would not
exist), rather than the symlink itself, deciding that there was no
existing symlink to remove, and crashing with EEXIST when trying to
install the new symlink.

This commit adjusts the existence check to evaluate whether the symlink
itself exists, rather than its target.

Note that while the symptoms are the same as #4671, the root cause is
unrelated.

5 years agoAuto merge of #7269 - ehuss:version-bump, r=alexcrichton
bors [Mon, 19 Aug 2019 22:43:12 +0000 (22:43 +0000)]
Auto merge of #7269 - ehuss:version-bump, r=alexcrichton

Bump to 0.40.0, Update changelog

5 years agoAuto merge of #7270 - ehuss:default-members-root-only, r=ehuss
bors [Mon, 19 Aug 2019 21:57:45 +0000 (21:57 +0000)]
Auto merge of #7270 - ehuss:default-members-root-only, r=ehuss

Only apply default-members when building root manifest

This is a reopening of #6755 rebased on master.

Closes #5932

5 years agoUpdate generated man pages
Wim Looman [Tue, 19 Mar 2019 13:37:21 +0000 (14:37 +0100)]
Update generated man pages

5 years agoOnly apply default-members when building root manifest
Wim Looman [Sat, 16 Mar 2019 14:30:41 +0000 (15:30 +0100)]
Only apply default-members when building root manifest

5 years agoBump to 0.40.0, Update changelog
Eric Huss [Mon, 19 Aug 2019 21:27:15 +0000 (14:27 -0700)]
Bump to 0.40.0, Update changelog

5 years agoFix dSYM uplifting when symlink is broken
Nikhil Benesch [Mon, 19 Aug 2019 20:45:42 +0000 (16:45 -0400)]
Fix dSYM uplifting when symlink is broken

We were sporadically but persistently seeing errors like

    failed to link or copy `.../target/debugs/deps/bin-264030cd6c8a02be.dSYM` to `.../target/debug/bin.dSYM`

    Caused by:
      the source path is not an existing regular file

while running `cargo build`. Once the error occurs once, `cargo build`
will fail forever with the same error until `target/debug/bin.dSYM` is
manually unlinked.

After some investigation, I've determined that this situation arises
when the target of `bin.dSYM` goes missing. For example, if bin.dSYM is
pointing at `deps/bin-86908f0fa7f1440e.dSYM`, and
`deps/bin-86908f0fa7f1440e.dSYM` does not exist, then this error will
occur. I'm still not clear on why the underlying dSYM bundle
sporadically goes missing--perhaps it's the result of pressing Ctrl-C at
the wrong moment?--but Cargo should at least be able to handle this
situation better.

It turns out that Cargo was getting confused by the broken symlink. When
it goes to install the new `target/debug/bin.dSYM` link, it will remove
the existing `target/debug/bin.dSYM` file, if it exists. Unfortunately,
Cargo was checking whether the *target* of that symlink existed (e.g.,
`deps/bin-86908f0fa7f1440e.dSYM`, which in the buggy case would not
exist), rather than the symlink itself, deciding that there was no
existing symlink to remove, and crashing with EEXIST when trying to
install the new symlink.

This commit adjusts the existence check to evaluate whether the symlink
itself exists, rather than its target.

Note that while the symptoms are the same as #4671, the root cause is
unrelated.

5 years agoAuto merge of #7237 - ehuss:git-with-version, r=alexcrichton
bors [Mon, 19 Aug 2019 16:53:34 +0000 (16:53 +0000)]
Auto merge of #7237 - ehuss:git-with-version, r=alexcrichton

Allow git+version dependency to be published.

This allows you to publish a dependency that specifies both `git` and `version`. The `git` value will be stripped out, just like a `path` dependency.

My original intent was to improve the error message, which was very confusing. I figured I might as well make `git` behave the same as `path`. I can change this PR to just reword the error instead of changing behavior if the new behavior isn't desired.

Closes #6738

5 years agoAllow git+version dependency to be published.
Eric Huss [Sun, 11 Aug 2019 23:50:13 +0000 (16:50 -0700)]
Allow git+version dependency to be published.

5 years agoAuto merge of #7251 - matthiaskrgr:clippy_v6, r=ehuss
bors [Mon, 19 Aug 2019 16:32:05 +0000 (16:32 +0000)]
Auto merge of #7251 - matthiaskrgr:clippy_v6, r=ehuss

fix more clippy warnings

5 years agoAdd comment about TIOCGWINSZ .into().
Eric Huss [Mon, 19 Aug 2019 16:28:56 +0000 (09:28 -0700)]
Add comment about TIOCGWINSZ .into().

5 years agoFix old lockfile encoding wrt newlines
Alex Crichton [Mon, 19 Aug 2019 16:06:56 +0000 (09:06 -0700)]
Fix old lockfile encoding wrt newlines

This commit fixes "old lockfile" encodings back to what they were prior
to #7070 with respect to newlines. The changes in #7070 accidentally
introduced a change where old lockfiles might have some extraneous
newlines removed unintentionally.

In #7070 it was attempted to clean up how newlines are emitted to ensure
a trailing blank newline never shows up at the end of the file, but this
acccidentally regressed cases where today we actually do have blank
newlines at the end of lock files. This commit instead restores all the
previous newline handling, and then scopes the "remove trailing
newlines" fix to specifically just the new encoding.

Closes #7254

5 years agoAuto merge of #7246 - ehuss:install-remove-orphan, r=alexcrichton
bors [Mon, 19 Aug 2019 16:03:35 +0000 (16:03 +0000)]
Auto merge of #7246 - ehuss:install-remove-orphan, r=alexcrichton

`cargo install`: Remove orphaned executables.

When a new version of a package is installed that no longer contains an executable from a previous version, this change causes those orphaned executables to also be removed.

I can place this new behavior behind the `install-upgrade` feature gate if anyone is uncomfortable with changing the behavior now.

cc #6797

5 years agofix a bunch of clippy warnings
Matthias Krüger [Wed, 14 Aug 2019 09:36:35 +0000 (11:36 +0200)]
fix a bunch of clippy warnings

5 years agoAuto merge of #7261 - rust-lang:dependabot/cargo/serde_ignored-0.1.0, r=ehuss
bors [Mon, 19 Aug 2019 15:31:03 +0000 (15:31 +0000)]
Auto merge of #7261 - rust-lang:dependabot/cargo/serde_ignored-0.1.0, r=ehuss

Update serde_ignored requirement from 0.0.4 to 0.1.0

Updates the requirements on [serde_ignored](https://github.com/dtolnay/serde-ignored) to permit the latest version.
<details>
<summary>Release notes</summary>

*Sourced from [serde_ignored's releases](https://github.com/dtolnay/serde-ignored/releases).*

> ## 0.1.0
> - Support more types in map keys ([#5](https://github-redirect.dependabot.com/dtolnay/serde-ignored/issues/5))
</details>
<details>
<summary>Commits</summary>

- [`2f46e83`](https://github.com/dtolnay/serde-ignored/commit/2f46e83f5258621d7f3bc6c0f7b6a608780972bb) Release 0.1.0
- [`57f9101`](https://github.com/dtolnay/serde-ignored/commit/57f9101b7ff880b67f5de1ed35dd8abb3282d8b8) Merge pull request [#6](https://github-redirect.dependabot.com/dtolnay/serde-ignored/issues/6) from dtolnay/nonstring
- [`d7f9411`](https://github.com/dtolnay/serde-ignored/commit/d7f94114ed56953cc78f1a75bdf2e220e9b6e6f1) Test unit variant key
- [`9a5f273`](https://github.com/dtolnay/serde-ignored/commit/9a5f27331f4faef1ef2d9f6fa39e54a016f802bf) Test newtype key
- [`81fa4e8`](https://github.com/dtolnay/serde-ignored/commit/81fa4e8e9dcec7019657a64c4b094969db2c4e29) Test integer key
- [`82ce356`](https://github.com/dtolnay/serde-ignored/commit/82ce356af84875806b1a034fe633746c0574b115) Support int, bool, newtype, enum as keys
- [`1d7a62c`](https://github.com/dtolnay/serde-ignored/commit/1d7a62cdf9890db425ca8452d120a1e467c674f9) Update serde dep in example to 1.0
- [`d8deb9a`](https://github.com/dtolnay/serde-ignored/commit/d8deb9a8c06ffae3b5850ce06e343485981d59ab) Add tests
- [`cd162e1`](https://github.com/dtolnay/serde-ignored/commit/cd162e1d4ac619c3c8cf7aa02c6b7b38ba56d808) Add a little more crate-level doc
- [`71290bc`](https://github.com/dtolnay/serde-ignored/commit/71290bc23921be8ecf845c488caabdc214b9bf6f) Resolve redundant_field_names lint
- Additional commits viewable in [compare view](https://github.com/dtolnay/serde-ignored/compare/0.0.4...0.1.0)
</details>
<br />

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

5 years agoAuto merge of #7257 - RobMor:no-spaces-between-flags, r=alexcrichton
bors [Mon, 19 Aug 2019 13:34:17 +0000 (13:34 +0000)]
Auto merge of #7257 - RobMor:no-spaces-between-flags, r=alexcrichton

Fix #7217: Add support for rustc-flags without spaces between flags and values

Hi, I believe this pull request contains a fix for issue #7217. This is my first pull request to any open source project, much less any Rust project. I'm not super familiar with Rust at the moment, so let me know if I should change anything. Also any help/advice you can give me about this PR would be much appreciated!

I do have some specific questions:
- Is the test I added worthy of being its own test? I basically copied the one above it and remove the spaces between the flags and the values. Should I have added on to the test above it instead?
- Would it be better if I directly unit-tested this function in some other test file?
- Is the `ureachable!` macro good style?

5 years agoUpdate serde_ignored requirement from 0.0.4 to 0.1.0
dependabot-preview[bot] [Mon, 19 Aug 2019 06:26:20 +0000 (06:26 +0000)]
Update serde_ignored requirement from 0.0.4 to 0.1.0

Updates the requirements on [serde_ignored](https://github.com/dtolnay/serde-ignored) to permit the latest version.
- [Release notes](https://github.com/dtolnay/serde-ignored/releases)
- [Commits](https://github.com/dtolnay/serde-ignored/compare/0.0.4...0.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
5 years agoFixed formatting with rustfmt
Robert Morrison [Sat, 17 Aug 2019 02:29:09 +0000 (22:29 -0400)]
Fixed formatting with rustfmt

5 years agoAdded tests for #7217
Robert Morrison [Sat, 17 Aug 2019 02:25:53 +0000 (22:25 -0400)]
Added tests for #7217

5 years agoFixed #7217, added support for no spaces between flags and values in rustc-flags
Robert Morrison [Sat, 17 Aug 2019 02:05:15 +0000 (22:05 -0400)]
Fixed #7217, added support for no spaces between flags and values in rustc-flags

5 years agoAuto merge of #7247 - Eijebong:home, r=ehuss
bors [Tue, 13 Aug 2019 23:59:51 +0000 (23:59 +0000)]
Auto merge of #7247 - Eijebong:home, r=ehuss

Update home to 0.4

5 years agoAuto merge of #7245 - ehuss:warn-dirty-submodule, r=alexcrichton
bors [Tue, 13 Aug 2019 23:42:40 +0000 (23:42 +0000)]
Auto merge of #7245 - ehuss:warn-dirty-submodule, r=alexcrichton

Check in package/publish if a git submodule is dirty.

This extends the "dirty" check during `cargo publish` to check files within a submodule.

It is a little crude, since it unconditionally tries to open every submodule even if it is not relevant to the current package. The performance doesn't seem too bad (~2s for rust-lang/rust with 16 submodules).

It's also a little lax, by ignoring uninitialized submodules. Presumably the verification build will fail if the submodule is not initialized. It could be more aggressive, by requiring all submodules to be initialized?

Closes #3622

5 years agoUpdate test to handle user.* git config missing in submodule.
Eric Huss [Tue, 13 Aug 2019 23:35:04 +0000 (16:35 -0700)]
Update test to handle user.* git config missing in submodule.

5 years agoAuto merge of #7244 - ehuss:rustdoc-collision-warning, r=alexcrichton
bors [Tue, 13 Aug 2019 23:25:30 +0000 (23:25 +0000)]
Auto merge of #7244 - ehuss:rustdoc-collision-warning, r=alexcrichton

Adjust warning for rustdoc filename collision.

The existing warning was a little misleading, as this is a known bug, not something we currently plan to reject.

cc https://github.com/rust-lang/cargo/issues/6313#issuecomment-505632458

5 years agoCheck in package/publish if a git submodule is dirty.
Eric Huss [Mon, 12 Aug 2019 20:57:16 +0000 (13:57 -0700)]
Check in package/publish if a git submodule is dirty.

5 years agoAuto merge of #7243 - ehuss:ws-warn-fetch, r=alexcrichton
bors [Tue, 13 Aug 2019 23:07:09 +0000 (23:07 +0000)]
Auto merge of #7243 - ehuss:ws-warn-fetch, r=alexcrichton

`cargo fetch`: Display workspace warnings.

Warnings were previously hidden with `cargo fetch`. It may be a little confusing, so go ahead and display them.

cc https://github.com/rust-lang/cargo/issues/7180#issuecomment-515489257

I thought about other commands that don't display warnings, but I couldn't think of any others where it would be useful. The only edge case is `publish`/`package`, which won't display unused key warnings because the manifest is rewritten and they are stripped. But displaying warnings there is awkward because some warnings will be displayed twice.

5 years agoAuto merge of #7242 - ehuss:vendor-ignore-dot, r=alexcrichton
bors [Tue, 13 Aug 2019 22:47:50 +0000 (22:47 +0000)]
Auto merge of #7242 - ehuss:vendor-ignore-dot, r=alexcrichton

 `cargo vendor`: Don't delete hidden top-level files.

`cargo vendor` (without `--no-delete`) will delete all files in the `vendor/` directory when it starts. This changes it so that it will skip any entries starting with a dot. This allows one to track the vendor directory with a source control system like git.

Closes #7109

(Note: two commits, one is a test change.)

5 years agoAuto merge of #7248 - ehuss:update-toml, r=alexcrichton
bors [Tue, 13 Aug 2019 22:22:27 +0000 (22:22 +0000)]
Auto merge of #7248 - ehuss:update-toml, r=alexcrichton

Bump toml 0.5.3

5 years agoBump toml 0.5.3
Eric Huss [Tue, 13 Aug 2019 17:37:40 +0000 (10:37 -0700)]
Bump toml 0.5.3

5 years agoUpdate home to 0.4.2
Bastien Orivel [Tue, 13 Aug 2019 15:35:29 +0000 (17:35 +0200)]
Update home to 0.4.2

5 years ago`cargo vendor`: Don't delete hidden top-level files.
Eric Huss [Tue, 13 Aug 2019 05:29:44 +0000 (22:29 -0700)]
`cargo vendor`: Don't delete hidden top-level files.

5 years agoClean up some git test support functions.
Eric Huss [Tue, 13 Aug 2019 05:25:36 +0000 (22:25 -0700)]
Clean up some git test support functions.

5 years ago`cargo install`: Remove orphaned executables.
Eric Huss [Tue, 13 Aug 2019 04:44:14 +0000 (21:44 -0700)]
`cargo install`: Remove orphaned executables.

5 years agoAdjust warning for rustdoc filename collision.
Eric Huss [Tue, 13 Aug 2019 00:19:28 +0000 (17:19 -0700)]
Adjust warning for rustdoc filename collision.

5 years ago`cargo fetch`: Display workspace warnings.
Eric Huss [Mon, 12 Aug 2019 23:03:15 +0000 (16:03 -0700)]
`cargo fetch`: Display workspace warnings.

5 years agoAuto merge of #7239 - ehuss:publish-non-remote-registry, r=alexcrichton
bors [Mon, 12 Aug 2019 15:37:33 +0000 (15:37 +0000)]
Auto merge of #7239 - ehuss:publish-non-remote-registry, r=alexcrichton

Improve error message when using API command with non-remote registry.

If you try to use an API command (publish, yank, search, etc.) with a source replacement active (like cargo-vendor or cargo-local-registry), then you get a really weird "failed to fetch" error. This adds a specific check to provide a slightly nicer error.

I'm not entirely happy with the wording, but I think it gets the point across.

5 years agoAuto merge of #7238 - ehuss:git-ssh-submodule, r=alexcrichton
bors [Mon, 12 Aug 2019 15:17:19 +0000 (15:17 +0000)]
Auto merge of #7238 - ehuss:git-ssh-submodule, r=alexcrichton

Allow git dependency with shorthand ssh submodules to work.

If a submodule is defined with a shorthand ssh url (like `git@github.com/user/repo.git`), then cargo was choking on it trying to convert it to a URL. The fix is to just pass around strings.

An alternate solution would be to try to detect shorthand git urls and automatically add `ssh://` to the path. I'm concerned about matching git's heuristics for this, though. I'm willing to try if you think this would be better, though.

I can't think of a good way to write a test for this, since we don't have any SSH test infrastructure. I verified running locally against github.

Closes #7202

5 years agoAuto merge of #7236 - ehuss:better-rustc-discovery-error, r=alexcrichton
bors [Mon, 12 Aug 2019 14:57:31 +0000 (14:57 +0000)]
Auto merge of #7236 - ehuss:better-rustc-discovery-error, r=alexcrichton

Better error messages when `rustc` discovery parsing fails.

This adds a little extra info to help debug when cargo fails to parse the output from `rustc` when querying it for information.

Closes #2929

5 years agoAuto merge of #7235 - ehuss:remove-check-style, r=alexcrichton
bors [Mon, 12 Aug 2019 14:37:17 +0000 (14:37 +0000)]
Auto merge of #7235 - ehuss:remove-check-style, r=alexcrichton

Remove stray file.

5 years agoRemove stray file.
Eric Huss [Mon, 12 Aug 2019 04:25:28 +0000 (21:25 -0700)]
Remove stray file.

5 years agoBetter error messages when `rustc` discovery parsing fails.
Eric Huss [Mon, 12 Aug 2019 04:24:38 +0000 (21:24 -0700)]
Better error messages when `rustc` discovery parsing fails.

5 years agoImprove error message when using API command with non-remote registry.
Eric Huss [Mon, 12 Aug 2019 01:58:52 +0000 (18:58 -0700)]
Improve error message when using API command with non-remote registry.

5 years agoAllow git dependency with shorthand ssh submodules to work.
Eric Huss [Mon, 12 Aug 2019 01:13:04 +0000 (18:13 -0700)]
Allow git dependency with shorthand ssh submodules to work.

5 years agoAuto merge of #7231 - petrochenkov:module2crate, r=alexcrichton
bors [Fri, 9 Aug 2019 23:02:23 +0000 (23:02 +0000)]
Auto merge of #7231 - petrochenkov:module2crate, r=alexcrichton

Update two tests for changes in rustc output

Required for landing https://github.com/rust-lang/rust/pull/63250.

(I'm not sure what is the process for landing synchronous changes like this.)

5 years agoUpdate two tests for changes in rustc output
Vadim Petrochenkov [Fri, 9 Aug 2019 22:20:43 +0000 (01:20 +0300)]
Update two tests for changes in rustc output

5 years agoAuto merge of #7162 - yaahallo:clippyargs, r=ehuss
bors [Fri, 9 Aug 2019 22:40:43 +0000 (22:40 +0000)]
Auto merge of #7162 - yaahallo:clippyargs, r=ehuss

reimplement arg passthrough for clippy-driver

Prior to this change, the old cargo subcommand version of `cargo clippy`
had a feature to pass trailing args down to clippy-driver but when this
the subcommand was reimplemented inside of cargo this feature was left
out accidentally.

This change readds the feature to to capture all args after a trailing
-- and forward them down to clippy-driver via an env variable.

5 years agoadd unit test
Jane Lusby [Thu, 8 Aug 2019 23:39:00 +0000 (16:39 -0700)]
add unit test

5 years agoAuto merge of #7227 - ehuss:layout-doc-cleanup, r=alexcrichton
bors [Thu, 8 Aug 2019 21:25:06 +0000 (21:25 +0000)]
Auto merge of #7227 - ehuss:layout-doc-cleanup, r=alexcrichton

Layout docs and cleanup.

This extracts some changes from #6668.  There shouldn't be any behavior changes other than the `native` directory will no longer be created.

5 years agoLayout docs and cleanup.
Eric Huss [Thu, 8 Aug 2019 19:33:51 +0000 (12:33 -0700)]
Layout docs and cleanup.

5 years agoAuto merge of #7222 - xanderio:master, r=alexcrichton
bors [Thu, 8 Aug 2019 14:12:02 +0000 (14:12 +0000)]
Auto merge of #7222 - xanderio:master, r=alexcrichton

enable progress bar for FreeBSD

As FreeBSD uses a unsigned long for the IOCTL syscall this code would
previously fail to compile. Adding a call to into() fixes this problem.

This code should still work on other platfroms as into() is able to
'convert' an u32 into a u32.

Also change the cfg attributes so that the working code is used.

This may also work on other not yet supported platforms, but it was not
tested.

5 years agoAuto merge of #7214 - alexcrichton:json-diagnostics, r=ehuss
bors [Wed, 7 Aug 2019 20:41:07 +0000 (20:41 +0000)]
Auto merge of #7214 - alexcrichton:json-diagnostics, r=ehuss

Add support for customizing JSON diagnostics from Cargo

Cargo has of #7143 enabled pipelined compilation by default which
affects how the compiler is invoked, especially with respect to JSON
messages. This, in some testing, has proven to cause quite a few issues
with rustbuild's current integration with Cargo. This commit is aimed at
adding features to Cargo to solve this issue.

This commit adds the ability to customize the stream of JSON messages
coming from Cargo. The new feature for Cargo is that it now also mirrors
rustc in how you can configure the JSON stream. Multiple
`--message-format` arguments are now supported and the value specified
is a comma-separated list of directives. In addition to the existing
`human`, `short`, and `json` directives these new directives have been
added:

* `json-render-diagnostics` - instructs Cargo to render rustc
  diagnostics and only print out JSON messages for artifacts and Cargo
  things.

* `json-diagnostic-short` - indicates that the `rendered` field of rustc
  diagnostics should use the "short" rendering.

* `json-diagnostic-rendered-ansi` - indicates that the `rendered` field of rustc
  diagnostics should embed ansi color codes.

The first option here, `json-render-diagnostics`, will be used by
rustbuild unconditionally. Additionally `json-diagnostic-short` will be
conditionally used based on the input to rustbuild itself.

This should be enough for external tools to customize how Cargo is
invoked and how all kinds of JSON diagnostics get printed, and it's
thought that we can relatively easily tweak this as necessary to extend
it and such.

5 years agofixed unused code warning
Alexander Sieg [Wed, 7 Aug 2019 19:40:41 +0000 (21:40 +0200)]
fixed unused code warning

In the commit c26e52c6d6a16a75bfcbbbae054f8f057ea02bd4 one cfg attribute
was forgotten. Here we fix this.

5 years agoenable progress bar for FreeBSD
Alexander Sieg [Wed, 7 Aug 2019 19:19:06 +0000 (21:19 +0200)]
enable progress bar for FreeBSD

As FreeBSD uses a unsigned long for the IOCTL syscall this code would
previously fail to compile. Adding a call to into() fixes this problem.

This code should still work on other platfroms as into() is able to
'convert' an u32 into a u32.

Also change the cfg attributes so that the working code is used.

This may also work on other not yet supported platforms, but it was not
tested.

5 years agoAuto merge of #7221 - ehuss:update-rustfix, r=alexcrichton
bors [Wed, 7 Aug 2019 15:09:47 +0000 (15:09 +0000)]
Auto merge of #7221 - ehuss:update-rustfix, r=alexcrichton

Bump rustfix

Closes #7220

5 years agoBump rustfix
Eric Huss [Wed, 7 Aug 2019 14:49:28 +0000 (07:49 -0700)]
Bump rustfix

5 years agoAuto merge of #7219 - ehuss:remap-path-prefix-fix, r=alexcrichton
bors [Tue, 6 Aug 2019 16:22:52 +0000 (16:22 +0000)]
Auto merge of #7219 - ehuss:remap-path-prefix-fix, r=alexcrichton

Fix remap-path-prefix from failing.

rustc currently remaps the source paths in the dep-info file, causing them to potentially point to a non-existent path. This causes the call to `canonicalize` added in #7137 to fail.  Just ignore the error.

Closes #7211

5 years agoFix remap-path-prefix from failing.
Eric Huss [Tue, 6 Aug 2019 16:00:43 +0000 (09:00 -0700)]
Fix remap-path-prefix from failing.

5 years agoAuto merge of #7215 - ehuss:build-script-cleanup, r=alexcrichton
bors [Tue, 6 Aug 2019 14:23:42 +0000 (14:23 +0000)]
Auto merge of #7215 - ehuss:build-script-cleanup, r=alexcrichton

Clean up build script stuff and documentation.

I often get lost trying to understand some of this build script stuff, so this is an attempt to make it a little easier to follow. Overview:

- Remove `Context::build_script_overridden`.
    - Add `BuildContext::script_override` to query if something is overridden.
    - Do not bother to compute unit dependencies for overridden build scripts. This is the most risky change, since there are some subtle assumptions when connecting up the various build script maps. However, as best as I can reason through, it seems correct. The intent here is to avoid all the situations where it attempts to filter out these extra deps.
- Rename `Context::build_state` to `Context::build_script_outputs` to try to be clearer about what it is. Similarly rename `BuildState` to `BuildScriptOutputs`.
- Remove trivial 1-line function `load_build_deps`.
- Add some documentation.

5 years agoAdd support for customizing JSON diagnostics from Cargo
Alex Crichton [Mon, 5 Aug 2019 16:42:28 +0000 (09:42 -0700)]
Add support for customizing JSON diagnostics from Cargo

Cargo has of #7143 enabled pipelined compilation by default which
affects how the compiler is invoked, especially with respect to JSON
messages. This, in some testing, has proven to cause quite a few issues
with rustbuild's current integration with Cargo. This commit is aimed at
adding features to Cargo to solve this issue.

This commit adds the ability to customize the stream of JSON messages
coming from Cargo. The new feature for Cargo is that it now also mirrors
rustc in how you can configure the JSON stream. Multiple
`--message-format` arguments are now supported and the value specified
is a comma-separated list of directives. In addition to the existing
`human`, `short`, and `json` directives these new directives have been
added:

* `json-render-diagnostics` - instructs Cargo to render rustc
  diagnostics and only print out JSON messages for artifacts and Cargo
  things.

* `json-diagnostic-short` - indicates that the `rendered` field of rustc
  diagnostics should use the "short" rendering.

* `json-diagnostic-rendered-ansi` - indicates that the `rendered` field of rustc
  diagnostics should embed ansi color codes.

The first option here, `json-render-diagnostics`, will be used by
rustbuild unconditionally. Additionally `json-diagnostic-short` will be
conditionally used based on the input to rustbuild itself.

This should be enough for external tools to customize how Cargo is
invoked and how all kinds of JSON diagnostics get printed, and it's
thought that we can relatively easily tweak this as necessary to extend
it and such.

5 years agoClean up build script stuff and documentation.
Eric Huss [Fri, 2 Aug 2019 23:05:18 +0000 (16:05 -0700)]
Clean up build script stuff and documentation.

5 years agoAuto merge of #7213 - ehuss:package-features-test, r=alexcrichton
bors [Mon, 5 Aug 2019 15:57:52 +0000 (15:57 +0000)]
Auto merge of #7213 - ehuss:package-features-test, r=alexcrichton

Remove debug panic in package-features.

I accidentally left a debug panic in #7186. This adds a test to exercise this code path.

5 years agoRemove debug panic in package-features.
Eric Huss [Mon, 5 Aug 2019 15:44:13 +0000 (08:44 -0700)]
Remove debug panic in package-features.

5 years agoAuto merge of #7208 - ehuss:fix-old-build-script-test, r=alexcrichton
bors [Mon, 5 Aug 2019 15:07:46 +0000 (15:07 +0000)]
Auto merge of #7208 - ehuss:fix-old-build-script-test, r=alexcrichton

Fix an old test.

This test was added in f888b4b7802d4c4699490af3810ce7dadf387915, part of #792, in a commented state. Might as well make it work. It is a bit surprising that passing `-l nonexistinglib` doesn't cause an error, but seems to be fine.

5 years agoAuto merge of #7210 - Mark-Simulacrum:remove-useless-builder, r=ehuss
bors [Sun, 4 Aug 2019 22:59:06 +0000 (22:59 +0000)]
Auto merge of #7210 - Mark-Simulacrum:remove-useless-builder, r=ehuss

Remove unused AstBuilder

This was removed in a recent rustc PR (https://github.com/rust-lang/rust/pull/63146), replaced with inherent impls.

5 years agoRemove unused AstBuilder
Mark Rousskov [Sun, 4 Aug 2019 22:09:52 +0000 (18:09 -0400)]
Remove unused AstBuilder

5 years agoremove unnecessary is wrapper struct
Jane Lusby [Sun, 4 Aug 2019 19:33:36 +0000 (12:33 -0700)]
remove unnecessary is wrapper struct

5 years agoremove clippy_hackery
Jane Lusby [Mon, 22 Jul 2019 18:14:52 +0000 (11:14 -0700)]
remove clippy_hackery

5 years agoreimplement arg passthrough for clippy-driver
Jane Lusby [Mon, 22 Jul 2019 17:33:27 +0000 (10:33 -0700)]
reimplement arg passthrough for clippy-driver

Prior to this change, the old cargo subcommand version of `cargo clippy`
had a feature to pass trailing args down to clippy-driver but when this
the subcommand was reimplemented inside of cargo this feature was left
out accidentally.

This change readds the feature to to capture all args after a trailing
-- and forward them down to clippy-driver via an env variable.

5 years agoFix an old test.
Eric Huss [Sun, 4 Aug 2019 18:09:25 +0000 (11:09 -0700)]
Fix an old test.

5 years agoAuto merge of #7201 - alexcrichton:revert-thing, r=ehuss
bors [Fri, 2 Aug 2019 15:01:11 +0000 (15:01 +0000)]
Auto merge of #7201 - alexcrichton:revert-thing, r=ehuss

Revert "Release a jobserver token while locking a file"

This reverts commit d19b41f2c6981dcdf5270e8f4582a95e51927e2a.

Discovered in #7200 this is just a straight up recipe for deadlock. One Cargo has a jobserver token and wants a file lock. Another Cargo has the file lock and wants a jobserver token. If we had a way to acquire a jobserver token in a nonblocking fashion we could perhaps solve this, but for now I think it's best to revert to the previous behavior.

Closes #7200

5 years agoRevert "Release a jobserver token while locking a file"
Alex Crichton [Thu, 1 Aug 2019 18:12:29 +0000 (11:12 -0700)]
Revert "Release a jobserver token while locking a file"

This reverts commit d19b41f2c6981dcdf5270e8f4582a95e51927e2a.

5 years agoAuto merge of #7191 - debris:prerelease_error_message, r=Eh2406
bors [Thu, 1 Aug 2019 15:23:48 +0000 (15:23 +0000)]
Auto merge of #7191 - debris:prerelease_error_message, r=Eh2406

improve error message for unmatched prerelease dependencies

fixes #7007

error message before:

```
error: no matching package named `a` found
location searched: [..]
perhaps you meant: a
required by package `b v0.1.0 ([..])`
```

error message now

```
error: no matching package named `a` found
location searched: [..]
prerelease package needs to be specified explicitly
a = { version = "0.1.1-alpha.0" }
required by package `b v0.1.0 ([..])`
```

5 years agoAuto merge of #7198 - petrochenkov:bench, r=alexcrichton
bors [Wed, 31 Jul 2019 23:24:32 +0000 (23:24 +0000)]
Auto merge of #7198 - petrochenkov:bench, r=alexcrichton

tests: Enable features to fix unstabilized `#[bench]`

Needed for https://github.com/rust-lang/rust/pull/62507.

(Even if unstabilization of `bench` is reverted later due to fallout, this change should be ok.)

5 years agoAuto merge of #7192 - alexcrichton:fix-backups, r=ehuss
bors [Wed, 31 Jul 2019 23:01:43 +0000 (23:01 +0000)]
Auto merge of #7192 - alexcrichton:fix-backups, r=ehuss

Fix excluding target dirs from backups on OSX

This fixes an accidental regression from #6880 identified in #7189 by
moving where the configuration of backup preferences happens since it
was accidentally never happening due to the folder always having been
created.

Closes #7189

5 years agoAuto merge of #6817 - thomwiggers:fix-2748, r=ehuss
bors [Wed, 31 Jul 2019 22:41:20 +0000 (22:41 +0000)]
Auto merge of #6817 - thomwiggers:fix-2748, r=ehuss

Handle symlinks to directories

When cargo encounters a link, check if it's a directory when considering it for further processing.
I'm not sure how this interacts with things such as submodules – it allowed me to publish the crate [pqcrypto-kyber768](https://github.com/rustpq/pqcrypto) which uses a link to a submodule.

Fixes #2748.

This PR:
* Add new tests that demonstrate that links to dirs can't be packaged
* Fixes those tests
* Enabled symlink tests to run on Windows
* Fix a bug in the handling of symlinks
* Add new test runner behaviour on Windows (it will ignore symlink-related tests and instead run them if you specify --ignored.)

5 years agoAuto merge of #7143 - alexcrichton:stabilize-pipelined-compilation, r=ehuss
bors [Wed, 31 Jul 2019 21:58:12 +0000 (21:58 +0000)]
Auto merge of #7143 - alexcrichton:stabilize-pipelined-compilation, r=ehuss

Enable pipelined compilation by default

This commit enables pipelined compilation by default in Cargo now that
the requisite support has been stablized in rust-lang/rust#62766. This
involved minor updates in a number of locations here and there, but
nothing of meat has changed from the original implementation (just
tweaks to how rustc is called).

5 years agoEnable pipelined compilation by default
Alex Crichton [Wed, 17 Jul 2019 19:41:27 +0000 (12:41 -0700)]
Enable pipelined compilation by default

This commit enables pipelined compilation by default in Cargo now that
the requisite support has been stablized in rust-lang/rust#62766. This
involved minor updates in a number of locations here and there, but
nothing of meat has changed from the original implementation (just
tweaks to how rustc is called).

5 years agotests: Enable features to fix unstabilized `#[bench]`
Vadim Petrochenkov [Wed, 31 Jul 2019 19:46:29 +0000 (22:46 +0300)]
tests: Enable features to fix unstabilized `#[bench]`

5 years agocargo fmt
debris [Wed, 31 Jul 2019 08:49:32 +0000 (10:49 +0200)]
cargo fmt