]> git.proxmox.com Git - cargo.git/log
cargo.git
6 years agoMark package compliance with Debian Policy 4.1.4.
Vasudev Kamath [Sun, 15 Apr 2018 09:15:51 +0000 (14:45 +0530)]
Mark package compliance with Debian Policy 4.1.4.

6 years agoUpdate upstream source from tag 'upstream/0.26.0'
Vasudev Kamath [Sun, 15 Apr 2018 09:11:10 +0000 (14:41 +0530)]
Update upstream source from tag 'upstream/0.26.0'

Update to upstream version '0.26.0'
with Debian dir cb4be93fcfeabfd0586ac0dc6943a32134549461

6 years agoNew upstream version 0.26.0
Vasudev Kamath [Sun, 15 Apr 2018 09:10:21 +0000 (14:40 +0530)]
New upstream version 0.26.0

6 years agoRefresh the patch 2004 against newer Cargo.toml
Vasudev Kamath [Sun, 15 Apr 2018 09:03:15 +0000 (14:33 +0530)]
Refresh the patch 2004 against newer Cargo.toml

6 years agoPrepare release for unstable.
Vasudev Kamath [Sun, 15 Apr 2018 07:30:37 +0000 (13:00 +0530)]
Prepare release for unstable.

6 years agoAdd patch to prevent incremental builds on sparc64.
Vasudev Kamath [Sun, 15 Apr 2018 06:54:17 +0000 (12:24 +0530)]
Add patch to prevent incremental builds on sparc64.

Closes: bug#895300, Thanks to John Paul Adrian Glaubitz.
6 years agoUpdate Vcs-* fields to salsa
Ximin Luo [Sat, 31 Mar 2018 12:14:27 +0000 (14:14 +0200)]
Update Vcs-* fields to salsa

6 years agoPrepare upload to unstable.
Vasudev Kamath [Thu, 22 Mar 2018 14:38:36 +0000 (20:08 +0530)]
Prepare upload to unstable.

6 years agoRemove Cargo.lock when cleaning, fixes build when checking out new versions
Ximin Luo [Wed, 21 Mar 2018 11:02:29 +0000 (12:02 +0100)]
Remove Cargo.lock when cleaning, fixes build when checking out new versions

6 years agoDon't require dev-dependencies when not needed in certain cases
Ximin Luo [Tue, 6 Feb 2018 00:43:10 +0000 (01:43 +0100)]
Don't require dev-dependencies when not needed in certain cases

6 years agoDepend on rustc 1.24 or later
Ximin Luo [Mon, 19 Mar 2018 16:49:13 +0000 (17:49 +0100)]
Depend on rustc 1.24 or later

6 years agoPrepare upload to unstable.
Vasudev Kamath [Fri, 9 Mar 2018 15:47:59 +0000 (21:17 +0530)]
Prepare upload to unstable.

6 years agoAuto merge of #5085 - matklad:rust-1.25.0-tls, r=alexcrichton
bors [Mon, 26 Feb 2018 21:17:55 +0000 (21:17 +0000)]
Auto merge of #5085 - matklad:rust-1.25.0-tls, r=alexcrichton

[beta] warn about TLS for github specifically

Backport of https://github.com/rust-lang/cargo/pull/5069 to beta

r? @alexcrichton

6 years ago[beta] warn about TLS for github specifically
Aleksey Kladov [Mon, 26 Feb 2018 17:41:22 +0000 (20:41 +0300)]
[beta] warn about TLS for github specifically

6 years agoPrepare release
Vasudev Kamath [Sun, 25 Feb 2018 06:49:01 +0000 (12:19 +0530)]
Prepare release

6 years agoDisable tests on powerpc and powerpcspe
Vasudev Kamath [Sun, 25 Feb 2018 06:48:45 +0000 (12:18 +0530)]
Disable tests on powerpc and powerpcspe

6 years agoPrepare new release for experimental
Vasudev Kamath [Sat, 24 Feb 2018 09:13:52 +0000 (14:43 +0530)]
Prepare new release for experimental

6 years agoUpdate copyright for 0.25.0
Vasudev Kamath [Sat, 24 Feb 2018 09:12:31 +0000 (14:42 +0530)]
Update copyright for 0.25.0

6 years agoDrop unused lintian override for README as patch.
Vasudev Kamath [Sat, 24 Feb 2018 08:50:37 +0000 (14:20 +0530)]
Drop unused lintian override for README as patch.

Request to not consider README under patches as a patch file has been
implemented in lintian upstream.

6 years agoFix typo in 2006 patch description.
Vasudev Kamath [Sat, 24 Feb 2018 08:50:08 +0000 (14:20 +0530)]
Fix typo in 2006 patch description.

6 years agoDrop patch 0001 as its merged upstream.
Vasudev Kamath [Sat, 24 Feb 2018 07:32:46 +0000 (13:02 +0530)]
Drop patch 0001 as its merged upstream.

6 years agoUpdate upstream source from tag 'upstream/0.25.0'
Vasudev Kamath [Sat, 24 Feb 2018 07:22:56 +0000 (12:52 +0530)]
Update upstream source from tag 'upstream/0.25.0'

Update to upstream version '0.25.0'
with Debian dir 44c2a43b3d0c56627bb5fb049db7430d3382d218

6 years agoNew upstream version 0.25.0
Vasudev Kamath [Sat, 24 Feb 2018 07:22:01 +0000 (12:52 +0530)]
New upstream version 0.25.0

6 years agoMake sure we take filter and unsuspiciaus texts from debian folder
Vasudev Kamath [Sat, 24 Feb 2018 07:19:49 +0000 (12:49 +0530)]
Make sure we take filter and unsuspiciaus texts from debian folder

This was added because these files will be present under .git/dgit/unpack if we
use dgit to push source.

6 years agoAudit unsuspicious files for 0.25.0 release.
Vasudev Kamath [Sat, 24 Feb 2018 07:19:20 +0000 (12:49 +0530)]
Audit unsuspicious files for 0.25.0 release.

6 years agoFilter out git test data from libgit2-sys.
Vasudev Kamath [Sat, 24 Feb 2018 07:19:01 +0000 (12:49 +0530)]
Filter out git test data from libgit2-sys.

6 years agoAuto merge of #5029 - matklad:new-defaults-to-bin, r=withoutboats
bors [Tue, 13 Feb 2018 11:03:57 +0000 (11:03 +0000)]
Auto merge of #5029 - matklad:new-defaults-to-bin, r=withoutboats

New defaults to bin

So this switches `cargo new` default from `--lib` to `--bin`, as discussed on IRC.

The first two commits are just refactorings, and the last one actually flips the switch. Surprisingly enough, no tests need to be modified it seems!

r? @withoutboats

6 years agoAuto merge of #5033 - alexcrichton:update-deps, r=matklad
bors [Mon, 12 Feb 2018 22:32:11 +0000 (22:32 +0000)]
Auto merge of #5033 - alexcrichton:update-deps, r=matklad

Update dependencies

Just a few major updates here and there

6 years agoUpdate dependencies
Alex Crichton [Mon, 12 Feb 2018 20:42:31 +0000 (12:42 -0800)]
Update dependencies

Just a few major updates here and there

6 years agoAuto merge of #5032 - matklad:lazycell, r=alexcrichton
bors [Mon, 12 Feb 2018 22:02:00 +0000 (22:02 +0000)]
Auto merge of #5032 - matklad:lazycell, r=alexcrichton

Switch to lazycell from crate.io

This switches from a home-grown implementation of `lazycell` to the one from crates.io.

There are no particularly large improvements here, but our own lazy cell is definitely unsafe in theory, because of potential reentrancy in `get_or_try_init`, and the one from crates.io does not have at least this hole :-)

Note that `rustc` already has `lazycell` in its Cargo.lock (because of clippy I guess?), albeit with a lower version, 0.5.

6 years agoAuto merge of #5031 - matthiaskrgr:readme_docs, r=alexcrichton
bors [Mon, 12 Feb 2018 20:53:27 +0000 (20:53 +0000)]
Auto merge of #5031 - matthiaskrgr:readme_docs, r=alexcrichton

readme: add link to the cargo documentation on docs.rs

[Rendered](https://github.com/matthiaskrgr/cargo/blob/readme_docs/README.md)

Background: I was searching for cargo source code doc a while back, found the cargo book and crates.io doc relatively quickly but not the actual source code doc which I only found (after way to much time had passed)  when I looked up the cargo crate on crates.io and found the "Documentation" link :/

Hope this improves the situation a bit in the future.

6 years agoreadme: add link to the cargo documentation on docs.rs
Matthias Krüger [Mon, 12 Feb 2018 18:27:45 +0000 (19:27 +0100)]
readme: add link to the cargo documentation on docs.rs

6 years agoSwitch `cargo new` default to `--bin`
Aleksey Kladov [Mon, 12 Feb 2018 17:00:59 +0000 (20:00 +0300)]
Switch `cargo new` default to `--bin`

6 years agoSwitch to lazycell from crate.io
Aleksey Kladov [Mon, 12 Feb 2018 18:33:31 +0000 (21:33 +0300)]
Switch to lazycell from crate.io

6 years agoAuto merge of #5030 - alexcrichton:better-poll, r=matklad
bors [Mon, 12 Feb 2018 17:53:00 +0000 (17:53 +0000)]
Auto merge of #5030 - alexcrichton:better-poll, r=matklad

Don't spin on empty fds in `read2` on Unix

This commit fixes what I think is some pathological behavior in Cargo where if
one stdio stream is closed before another then Cargo can accidentally spin in a
tight loop and not block appropriately. Previously, for example, if stderr
closed before stdout then Cargo would spin in a `poll` loop continuously getting
notified that stderr is closed.

The behavior is now changed so after a file descriptor is done we stop passing
it to `poll` and instead only pass the one remaining readable file descriptor.

6 years agoDon't spin on empty fds in `read2` on Unix
Alex Crichton [Mon, 12 Feb 2018 17:27:11 +0000 (09:27 -0800)]
Don't spin on empty fds in `read2` on Unix

This commit fixes what I think is some pathological behavior in Cargo where if
one stdio stream is closed before another then Cargo can accidentally spin in a
tight loop and not block appropriately. Previously, for example, if stderr
closed before stdout then Cargo would spin in a `poll` loop continuously getting
notified that stderr is closed.

The behavior is now changed so after a file descriptor is done we stop passing
it to `poll` and instead only pass the one remaining readable file descriptor.

6 years agoRefactor `NewOptions` to make it slightly more clear
Aleksey Kladov [Mon, 12 Feb 2018 16:57:31 +0000 (19:57 +0300)]
Refactor `NewOptions` to make it slightly more clear

6 years agoCleanup
Aleksey Kladov [Mon, 12 Feb 2018 16:31:48 +0000 (19:31 +0300)]
Cleanup

6 years agoAuto merge of #5025 - Eh2406:error_mesges, r=alexcrichton
bors [Fri, 9 Feb 2018 18:50:24 +0000 (18:50 +0000)]
Auto merge of #5025 - Eh2406:error_mesges, r=alexcrichton

better resolver error messages

This is a start on beter resolver error messages. This is mostly trying to copy the `links` messages. In the process I found that we wor not testing the common case of having found candidates and still not resolving.

Any advice?

6 years agobetter error messages
Eh2406 [Wed, 7 Feb 2018 16:51:40 +0000 (11:51 -0500)]
better error messages

6 years agoAuto merge of #5024 - debris:helpful_message, r=alexcrichton
bors [Fri, 9 Feb 2018 00:22:00 +0000 (00:22 +0000)]
Auto merge of #5024 - debris:helpful_message, r=alexcrichton

Add helpful message when running cargo doc --open

Add helpful message when running cargo doc --open in the root of the workspace.

closes #4962

old output:

```
 Documenting foo v0.1.0 (file:///Users/marek/projects/ethcore/tmp/dupa/foo)
 Documenting bar v0.1.0 (file:///Users/marek/projects/ethcore/tmp/dupa/bar)
    Finished dev [unoptimized + debuginfo] target(s) in 0.78 secs
error: Passing multiple packages and `open` is not supported
```

new output:

```
 Documenting foo v0.1.0 (file:///Users/marek/projects/ethcore/tmp/dupa/foo)
 Documenting bar v0.1.0 (file:///Users/marek/projects/ethcore/tmp/dupa/bar)
    Finished dev [unoptimized + debuginfo] target(s) in 0.81 secs
error: Passing multiple packages and `open` is not supported.
Please re-run this command with `-p <spec>` where `<spec>` is one of the following:
  foo
  bar
```

6 years agoAdd helpful message when running cargo doc --open in the root of the workspace, fixes...
debris [Thu, 8 Feb 2018 21:50:35 +0000 (22:50 +0100)]
Add helpful message when running cargo doc --open in the root of the workspace, fixes #4962

6 years agogeneralize the path_to_top from the links errors
Eh2406 [Wed, 7 Feb 2018 22:50:03 +0000 (17:50 -0500)]
generalize the path_to_top from the links errors

6 years agotest for the most common cargo resolver error
Eh2406 [Wed, 7 Feb 2018 22:45:02 +0000 (17:45 -0500)]
test for the most common cargo resolver error

6 years agoAuto merge of #5020 - stefanbirkner:linkfix, r=alexcrichton
bors [Wed, 7 Feb 2018 23:11:35 +0000 (23:11 +0000)]
Auto merge of #5020 - stefanbirkner:linkfix, r=alexcrichton

Fix link to documentation

6 years agoFix link to documentation
Stefan Birkner [Sat, 3 Feb 2018 21:48:24 +0000 (22:48 +0100)]
Fix link to documentation

6 years agoAuto merge of #5018 - brotzeit:clippy, r=alexcrichton
bors [Wed, 7 Feb 2018 02:06:13 +0000 (02:06 +0000)]
Auto merge of #5018 - brotzeit:clippy, r=alexcrichton

apply clippy suggestions

I want to try if this actually works =)

There are many other clippy suggestions. I wonder if I can take them for granted or if some of them would be refused.

For example:
```
warning: Constants have by default a `'static` lifetime
  --> src/cargo/lib.rs:53:23
   |
53 | pub const CARGO_ENV: &'static str = "CARGO";
   |                      -^^^^^^^---- help: consider removing `'static`: `&str`
   |
   = note: #[warn(const_static_lifetime)] on by default
   = help: for further information visit https://rust-lang-nursery.github.io/rust-clippy/v0.0.185/index.html#const_static_lifetime
```

6 years agoapply clippy suggestions
brotzeit [Tue, 6 Feb 2018 21:49:50 +0000 (22:49 +0100)]
apply clippy suggestions

6 years agoAuto merge of #5011 - Manishearth:stealing-chickens-off-the-internet, r=alexcrichton
bors [Tue, 6 Feb 2018 18:27:28 +0000 (18:27 +0000)]
Auto merge of #5011 - Manishearth:stealing-chickens-off-the-internet, r=alexcrichton

Implement RFC 2052: Epoches

Todo:

 - Make epoches affect the fingerprint
 - Tests

cc https://github.com/rust-lang/rust/issues/44581

Rust PR: https://github.com/rust-lang/rust/pull/48014

r? @acrichto

6 years agoepoch -> rust
Manish Goregaokar [Tue, 6 Feb 2018 17:33:30 +0000 (09:33 -0800)]
epoch -> rust

6 years agoAuto merge of #5017 - matthiaskrgr:manifest_cgu_lto, r=alexcrichton
bors [Tue, 6 Feb 2018 17:33:20 +0000 (17:33 +0000)]
Auto merge of #5017 - matthiaskrgr:manifest_cgu_lto, r=alexcrichton

manifest reference: correct statement: codegen-units=x is not ignored if lto=true.

Also fix typo along the way.

6 years agoAuto merge of #4834 - aidanhs:aphs-better-backtrack, r=alexcrichton
bors [Tue, 6 Feb 2018 17:05:37 +0000 (17:05 +0000)]
Auto merge of #4834 - aidanhs:aphs-better-backtrack, r=alexcrichton

Make resolution backtracking smarter

There's no need to try every candidate for every dependency when backtracking - instead, only try candidates if they *could* change the eventual failure that caused backtracking in the first place, i.e.
1. if we've backtracked past the parent of the dep that failed
2. the number of activations for the dep has changed (activations are only ever added during resolution I believe)

The two new tests before:
```
$ /usr/bin/time cargo test --test resolve -- --test-threads 1 --nocapture resolving_with_constrained_sibling_
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running target/debug/deps/resolve-19b2a13e5a19eed8
38.45user 2.16system 0:42.00elapsed 96%CPU (0avgtext+0avgdata 47672maxresident)k
0inputs+1664096outputs (0major+10921minor)pagefaults 0swaps
```
After:
```
$ /usr/bin/time cargo test --test resolve -- --test-threads 1 --nocapture resolving_with_constrained_sibling_
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running target/debug/deps/resolve-19b2a13e5a19eed8
[...]
0.36user 0.01system 0:00.49elapsed 76%CPU (0avgtext+0avgdata 47464maxresident)k
0inputs+32outputs (0major+11602minor)pagefaults 0swaps
```

You observe the issue yourself with the following (it should fail, but hangs for a while instead - I didn't bother timing it and waiting for it to finish. With this PR it terminates almost instantly):
```
$ cargo new --bin x
     Created binary (application) `x` project
$ /bin/echo -e 'serde = "=1.0.9"\nrust-s3 = "0.8"' >> x/Cargo.toml
$ cd x && cargo build
    Updating registry `https://github.com/rust-lang/crates.io-index`
   Resolving dependency graph...
```

6 years agomanifest reference: correct statement: codegen-units=x is not ignored if lto=true.
Matthias Krüger [Tue, 6 Feb 2018 12:27:56 +0000 (13:27 +0100)]
manifest reference: correct statement: codegen-units=x is not ignored if lto=true.

Also fix typo along the way.

6 years agoAuto merge of #5013 - withoutboats:no-rust-rename, r=matklad
bors [Tue, 6 Feb 2018 06:08:23 +0000 (06:08 +0000)]
Auto merge of #5013 - withoutboats:no-rust-rename, r=matklad

Do not rename packages on `cargo new`.

Prior to this commit, packages beginning with `rust` or ending with
`rs` were renamed automatically when created, unless they were
binaries. The ostensible purpose of this code was to avoid people
uploading "redundant" names to crates.io, which is a repository of
Rust packages.

This behavior was overly opinionated. It is not cargo's
responsibility to discourage users from naming their packages any
particular way. Without a sound technical reasons why packages
cannot be named a certain way, cargo should not be intervening in
users' package naming decisions.

It also did this by automatically renaming the package for the
user, as opposed to erroring. Though it printed a message about
the behavior, it did not give the user a choice to abort the
process; to overrule cargo they had to delete the new project
and start again using the `--name` argument.

`cargo new` is many users' first entrypoint to the Rust ecosystem.
This behavior teaches a user that Rust is opinionated and magical,
both of which are divisive attributes for a tool, and attributes
which do not generally describe Rust's attitude toward things like
names and formatting.

If crates.io wishes to enforce that users not upload packages with
names like this, it should be enforced by crates.io at publish
time.

6 years agoAdd tests for epoch
Manish Goregaokar [Mon, 5 Feb 2018 21:42:42 +0000 (16:42 -0500)]
Add tests for epoch

6 years agoInclude the epoch in the fingerprint
Manish Goregaokar [Mon, 5 Feb 2018 21:21:40 +0000 (16:21 -0500)]
Include the epoch in the fingerprint

6 years agoPass -Zepoch flag when epoch feature exists
Manish Goregaokar [Mon, 5 Feb 2018 16:29:31 +0000 (11:29 -0500)]
Pass -Zepoch flag when epoch feature exists

6 years agoFeature gate epoches
Manish Goregaokar [Mon, 5 Feb 2018 15:28:17 +0000 (10:28 -0500)]
Feature gate epoches

6 years agoAdd epoch key to [package]
Manish Goregaokar [Mon, 5 Feb 2018 15:23:07 +0000 (10:23 -0500)]
Add epoch key to [package]

6 years agoAdd reference to clarifying comment
Aidan Hobson Sayers [Tue, 6 Feb 2018 02:15:17 +0000 (02:15 +0000)]
Add reference to clarifying comment

6 years agoRemove tests related to stripping names.
boats [Mon, 5 Feb 2018 23:49:49 +0000 (15:49 -0800)]
Remove tests related to stripping names.

6 years agoDo not rename packages on `cargo new`.
boats [Mon, 5 Feb 2018 23:04:17 +0000 (15:04 -0800)]
Do not rename packages on `cargo new`.

Prior to this commit, packages beginning with `rust` or ending with
`rs` were renamed automatically when created, unless they were
binaries. The ostensible purpose of this code was to avoid people
uploading "redundant" names to crates.io, which is a repository of
Rust packages.

This behavior was overly opinionated. It is not cargo's
responsibility to discourage users from naming their packages any
particular way. Without a sound technical reasons why packages
cannot be named a certain way, cargo should not be intervening in
users' package naming decisions.

It also did this by automatically renaming the package for the
user, as opposed to erroring. Though it printed a message about
the behavior, it did not give the user a choice to abort the
process; to overrule cargo they had to delete the new project
and start again using the `--name` argument.

`cargo new` is many users' first entrypoint to the Rust ecosystem.
This behavior teaches a user that Rust is opinionated and magical,
both of which are divisive attributes for a tool, and attributes
which do not generally describe Rust's attitude toward things like
names and formatting.

If crates.io wishes to enforce that users not upload packages with
names like this, it should be enforced by crates.io at publish
time.

6 years agoAuto merge of #4976 - mbrubeck:doc-check, r=alexcrichton
bors [Mon, 5 Feb 2018 21:22:16 +0000 (21:22 +0000)]
Auto merge of #4976 - mbrubeck:doc-check, r=alexcrichton

cargo doc: Generate rmeta files for dependencies instead of compiling rlibs

This makes `cargo doc` require only metadata (`.rmeta` files) instead of compiled libraries (`.rlib` files) for dependencies.  This makes `cargo doc` faster in cases where rlibs are not already built and/or metadata is already available.

Unfortunately, this is not a win for every workflow.  In the case where the user has already compiled but has not generated metadata, it makes `cargo doc` do extra work.  This is probably a common case, though tools like RLS and `cargo check` mean that many developers *will* have up-to-date metadata available.

It would become an unequivocal win if `cargo build` and `cargo check` re-used shared metadata (#3501). For now, starting from a clean working directory, the following sequences of commands will become:

* `cargo doc`: faster
* `cargo build; cargo doc`: slower
* `cargo check; cargo doc`: faster
* `cargo build --release; cargo doc`: faster
* `cargo check; cargo build; cargo doc`: no change

6 years agoClean up lib_or_check_profile code
Matt Brubeck [Mon, 5 Feb 2018 18:31:22 +0000 (10:31 -0800)]
Clean up lib_or_check_profile code

6 years agocargo doc: Generate metadata instead of compiling dependencies
Matt Brubeck [Wed, 24 Jan 2018 20:37:19 +0000 (12:37 -0800)]
cargo doc: Generate metadata instead of compiling dependencies

6 years agoAuto merge of #5008 - matthiaskrgr:codespell, r=alexcrichton
bors [Mon, 5 Feb 2018 05:11:39 +0000 (05:11 +0000)]
Auto merge of #5008 - matthiaskrgr:codespell, r=alexcrichton

fix a bunch of typos found by codespell

https://github.com/lucasdemarchi/codespell/

6 years agofix a bunch of typos found by codespell
Matthias Krüger [Sun, 4 Feb 2018 21:30:22 +0000 (22:30 +0100)]
fix a bunch of typos found by codespell

6 years agoAuto merge of #5004 - BurNiinTRee:pijul-config-key, r=matklad
bors [Sun, 4 Feb 2018 13:21:01 +0000 (13:21 +0000)]
Auto merge of #5004 - BurNiinTRee:pijul-config-key, r=matklad

Added "pijul" as a config key for cargo-new.vcs in .cargo/config

Currently Pijul can only be set as a version control from the command-line but not from the cargo-new.vcs key in .cargo/config

6 years agoAdded "pijul" as a config key for cargo-new.vcs in .cargo/config
Lars Mühmel [Sun, 4 Feb 2018 13:06:03 +0000 (14:06 +0100)]
Added "pijul" as a config key for cargo-new.vcs in .cargo/config

6 years agoElaborate on test configuration, add a new test
Aidan Hobson Sayers [Sat, 3 Feb 2018 21:49:42 +0000 (21:49 +0000)]
Elaborate on test configuration, add a new test

6 years agoClearer desired behaviour with an assertion
Aidan Hobson Sayers [Sat, 3 Feb 2018 21:24:22 +0000 (21:24 +0000)]
Clearer desired behaviour with an assertion

6 years agoMake resolution backtracking smarter
Aidan Hobson Sayers [Mon, 18 Dec 2017 17:06:45 +0000 (17:06 +0000)]
Make resolution backtracking smarter

There's no need to try every candidate for every dependency - instead,
only try alternative candidates if they *could* change the eventual
failure that caused backtracking in the first place.

6 years agoAuto merge of #4999 - alexcrichton:beta-next, r=alexcrichton
bors [Thu, 1 Feb 2018 21:15:01 +0000 (21:15 +0000)]
Auto merge of #4999 - alexcrichton:beta-next, r=alexcrichton

[beta] Fix `RUSTC=./relative-path` when building

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

6 years agoFix `RUSTC=./relative-path` when building
Alex Crichton [Wed, 31 Jan 2018 18:30:01 +0000 (10:30 -0800)]
Fix `RUSTC=./relative-path` when building

This commit adjusts the compiler location logic to resolve `./relative-path`
before invoking rustc to ensure it's no longer cwd-relative. This is how many
other variables like `CARGO_HOME` work, so it's applying similar logic.

6 years agoAuto merge of #4995 - alexcrichton:relative-env, r=matklad
bors [Thu, 1 Feb 2018 19:12:19 +0000 (19:12 +0000)]
Auto merge of #4995 - alexcrichton:relative-env, r=matklad

Fix `RUSTC=./relative-path` when building

This commit adjusts the compiler location logic to resolve `./relative-path`
before invoking rustc to ensure it's no longer cwd-relative. This is how many
other variables like `CARGO_HOME` work, so it's applying similar logic.

6 years agoFix `RUSTC=./relative-path` when building
Alex Crichton [Wed, 31 Jan 2018 18:30:01 +0000 (10:30 -0800)]
Fix `RUSTC=./relative-path` when building

This commit adjusts the compiler location logic to resolve `./relative-path`
before invoking rustc to ensure it's no longer cwd-relative. This is how many
other variables like `CARGO_HOME` work, so it's applying similar logic.

6 years agoAuto merge of #4990 - Eh2406:Zno-index-update, r=alexcrichton
bors [Wed, 31 Jan 2018 22:14:53 +0000 (22:14 +0000)]
Auto merge of #4990 - Eh2406:Zno-index-update, r=alexcrichton

add a -Z no-index-update for crater and benchmarking

This is a fix for #3479

6 years agoadd a test
Eh2406 [Wed, 31 Jan 2018 21:12:19 +0000 (16:12 -0500)]
add a test

6 years agoAuto merge of #4996 - alexcrichton:document-lto, r=matklad
bors [Wed, 31 Jan 2018 20:33:03 +0000 (20:33 +0000)]
Auto merge of #4996 - alexcrichton:document-lto, r=matklad

Document string values for LTO

6 years agoDocument string values for LTO
Alex Crichton [Wed, 31 Jan 2018 19:45:26 +0000 (11:45 -0800)]
Document string values for LTO

6 years agoAuto merge of #4984 - alexcrichton:configure-lto, r=matklad
bors [Wed, 31 Jan 2018 18:55:53 +0000 (18:55 +0000)]
Auto merge of #4984 - alexcrichton:configure-lto, r=matklad

Allow configuration of LTO in [profile]

This should help give access to ThinLTO when desired!

6 years agoAuto merge of #4991 - bennofs:master, r=matklad
bors [Wed, 31 Jan 2018 09:20:32 +0000 (09:20 +0000)]
Auto merge of #4991 - bennofs:master, r=matklad

Require at least version 0.1.9 of jobserver crate

There are some important fixes in jobserver >=0.1.8. With earlier
versions, it's possible for cargo to panic with a "failed to acquire
jobserver token" error, which can be very hard to track down.

Requiring the latest version of jobserver makes sure that no such error
can make it into downstream distributions.

6 years agoRequire at least version 0.1.9 of jobserver crate
Benno Fünfstück [Wed, 31 Jan 2018 09:16:01 +0000 (10:16 +0100)]
Require at least version 0.1.9 of jobserver crate

There are some important fixes in jobserver >=0.1.8. With earlier
versions, it's possible for cargo to panic with a "failed to acquire
jobserver token" error, which can be very hard to track down.

Requiring the latest version of jobserver makes sure that no such error
can make it into downstream distributions.

6 years agoadd a -Z no-index-update for crater and benchmarking
Eh2406 [Wed, 31 Jan 2018 04:09:13 +0000 (23:09 -0500)]
add a -Z no-index-update for crater and benchmarking

6 years agoRelease 0.24.0-1 to Debian unstable.
Ximin Luo [Sat, 27 Jan 2018 09:41:08 +0000 (10:41 +0100)]
Release 0.24.0-1 to Debian unstable.

6 years agoAllow configuration of LTO in [profile]
Alex Crichton [Fri, 26 Jan 2018 22:26:13 +0000 (14:26 -0800)]
Allow configuration of LTO in [profile]

This should help give access to ThinLTO when desired!

6 years agoAuto merge of #4980 - Gilnaa:master, r=matklad
bors [Fri, 26 Jan 2018 16:45:42 +0000 (16:45 +0000)]
Auto merge of #4980 - Gilnaa:master, r=matklad

Fixed relaxed libtest tests

This fixes tests regarding the upcoming behaviour of libtest's benchmarks.
The previous PR was wrongly tested, this one fixes the problems.

6 years agoFixed relaxed libtest tests
Gilad Naaman [Fri, 26 Jan 2018 16:23:44 +0000 (18:23 +0200)]
Fixed relaxed libtest tests

6 years agoPrepare 0.24.0 for experimental.
Vasudev Kamath [Thu, 25 Jan 2018 09:27:52 +0000 (14:57 +0530)]
Prepare 0.24.0 for experimental.

6 years agoAdd lintian-override to ignore false positive from lintian.
Vasudev Kamath [Thu, 25 Jan 2018 09:25:58 +0000 (14:55 +0530)]
Add lintian-override to ignore false positive from lintian.

6 years agoTrack rustfmt.toml on top level copyright section.
Vasudev Kamath [Thu, 25 Jan 2018 09:11:18 +0000 (14:41 +0530)]
Track rustfmt.toml on top level copyright section.

6 years agoUpdate copyright file for 0.24.0 release.
Vasudev Kamath [Thu, 25 Jan 2018 08:16:17 +0000 (13:46 +0530)]
Update copyright file for 0.24.0 release.

6 years agoFix the bad_git_dependency test failure.
Vasudev Kamath [Thu, 25 Jan 2018 06:32:36 +0000 (12:02 +0530)]
Fix the bad_git_dependency test failure.

6 years agoAuto merge of #4957 - sfackler:registry-elaboration, r=alexcrichton
bors [Thu, 25 Jan 2018 00:37:01 +0000 (00:37 +0000)]
Auto merge of #4957 - sfackler:registry-elaboration, r=alexcrichton

Elaborate registry names to index URLs when publishing

This avoids introducing a dependency on the publisher's name for the
registry.

Closes #4880

6 years agoAuto merge of #4974 - alexcrichton:less-vendor-verify, r=matklad
bors [Wed, 24 Jan 2018 23:43:20 +0000 (23:43 +0000)]
Auto merge of #4974 - alexcrichton:less-vendor-verify, r=matklad

Be less strict about loading directory sources

Historically Cargo has been pretty strict about loading directory sources by
ensuring that everything inside was a crate. This was intended to protect
against accidental misconfiguration by failing loudly rather than silently
returning fewer crates.

This has caused a number of issues, however:

* #4969
* #4811
* #3899

so it seems like this is too aspirational of Cargo

Closes #4811
Closes #4969

6 years agoBe less strict about loading directory sources
Alex Crichton [Wed, 24 Jan 2018 18:04:47 +0000 (10:04 -0800)]
Be less strict about loading directory sources

Historically Cargo has been pretty strict about loading directory sources by
ensuring that everything inside was a crate. This was intended to protect
against accidental misconfiguration by failing loudly rather than silently
returning fewer crates.

This has caused a number of issues, however:

* #4969
* #4811
* #3899

so it seems like this is too aspirational of Cargo

Closes #4811
Closes #4969

6 years agoAuto merge of #4973 - alexcrichton:dont-require-emscripten, r=matklad
bors [Wed, 24 Jan 2018 22:17:55 +0000 (22:17 +0000)]
Auto merge of #4973 - alexcrichton:dont-require-emscripten, r=matklad

Remove test that requires Emscripten

This seems relatively unlikely to regress in the future and otherwise arranging
Cargo to have a rustc that has Emscripten support will become difficult in the
near future in the Rust repo. All in all it seems like the course of action to
take is to delete this test for now.

6 years agoForbid credentials from registry URLs
Steven Fackler [Wed, 24 Jan 2018 20:54:17 +0000 (12:54 -0800)]
Forbid credentials from registry URLs

6 years agoFixes for feedback
Steven Fackler [Thu, 18 Jan 2018 19:53:12 +0000 (11:53 -0800)]
Fixes for feedback

6 years agoElaborate registry names to index URLs when publishing
Steven Fackler [Thu, 18 Jan 2018 19:33:26 +0000 (11:33 -0800)]
Elaborate registry names to index URLs when publishing

This avoids introducing a dependency on the publisher's name for the
registry.

Closes #4880