Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added aliases to subcommand typo suggestions. #7288

Closed
wants to merge 307 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 3, 2019

  1. Configuration menu
    Copy the full SHA
    0b051c7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3e82792 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aee4048 View commit details
    Browse the repository at this point in the history
  4. Update for libtest changes.

    ehuss committed Sep 3, 2019
    Configuration menu
    Copy the full SHA
    d4c3eea View commit details
    Browse the repository at this point in the history
  5. Make libtest optional.

    ehuss committed Sep 3, 2019
    Configuration menu
    Copy the full SHA
    3ba9de8 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#7295 - zachlute:config-toml-extension, r=alex…

    …crichton
    
    Allow using 'config.toml' instead of just 'config' files.
    
    Fixes rust-lang#7273
    
    Note that this change only makes 'config.toml' optional to use instead of 'config'. If both exist, we will print a warning and prefer 'config', since that would be the existing behavior if both existed today.
    
    We should also consider a separate change to make config.toml the default and update docs, etc.
    bors committed Sep 3, 2019
    Configuration menu
    Copy the full SHA
    5da11a5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9382be1 View commit details
    Browse the repository at this point in the history
  8. Auto merge of rust-lang#7216 - ehuss:build-std, r=alexcrichton

    Basic standard library support.
    
    This is not intended to be useful to anyone. If people want to try it, that's great, but do not rely on this. This is only for experimenting and setting up for future work.
    
    This adds a flag `-Zbuild-std` to build the standard library with a project. The flag can also take optional comma-separated crate names, like `-Zbuild-std=core`. Default is `std,core,panic_unwind,compiler_builtins`.
    
    Closes rust-lang/wg-cargo-std-aware#10.
    
    Note: I can probably break some of the refactoring into smaller PRs if necessary.
    
    ## Overview
    The general concept here is to use two resolvers, and to combine everything in the Unit graph. There are a number of changes to support this:
    
    - A synthetic workspace for the standard library is created to set up the patches and members correctly.
    - Decouple `unit_dependencies` from `Context` to make it easier to manage.
    - Add `features` to `Unit` to keep it unique and to remove the need to query a resolver.
    - Add a `UnitDep` struct which encodes the edges between `Unit`s. This removes the need to query a resolver for `extern_crate_name` and `public`.
    - Remove `Resolver` from `BuildContext` to avoid any confusion and to keep the complexity focused in `unit_dependencies`.
    - Remove `Links` from `Context` since it used the resolver. Adjusted so that instead of checking links at runtime, they are all checked at once in the beginning. Note that it does not check links for the standard lib, but it should be safe? I think `compiler-rt` is the only `links`?
    
    I currently went with a strategy of linking the standard library dependencies using `--extern` (instead of `--sysroot` or `-L`). This has some benefits but some significant drawbacks. See below for some questions.
    
    ## For future PRs
    - Add Cargo.toml support. See rust-lang/wg-cargo-std-aware#5
    - Source is not downloaded. It assumes you have run `rustup component add rust-src`. See rust-lang/wg-cargo-std-aware#11
    - `cargo metadata` does not include any information about std. I don't know how this should work.
    - `cargo clean` is not std-aware.
    - `cargo fetch` does not fetch std dependencies.
    - `cargo vendor` does not vendor std dependencies.
    - `cargo pkgid` is not std-aware.
    - `--target` is required on the command-line. This should default to host-as-target.
    - `-p` is not std aware.
    - A synthetic `Cargo.toml` workspace is created which has to know about things like `rustc-std-workspace-core`. Perhaps rust-lang/rust should publish the source with this `Cargo.toml` already created?
    - `compiler_builtins` uses default features (pure Rust implementation, etc.). See rust-lang/wg-cargo-std-aware#15
        - `compiler_builtins` may need to be built without debug assertions, see [this](https://github.com/rust-lang/rust/blob/8e917f48382c6afaf50568263b89d35fba5d98e4/src/bootstrap/bin/rustc.rs#L210-L214). Could maybe use profile overrides.
    - Panic issues:
        - `panic_abort` is not yet supported, though it should probably be easy. It could maybe look at the profile to determine which panic implementation to use? This requires more hard-coding in Cargo to know about rustc implementation details.
        - [This](https://github.com/rust-lang/rust/blob/8e917f48382c6afaf50568263b89d35fba5d98e4/src/bootstrap/bin/rustc.rs#L186-L201) should probably be handled where `panic` is set for `panic_abort` and `compiler_builtins`. I would like to get a test case for it. This can maybe be done with profile overrides?
    - Using two resolvers is quite messy and causes a lot of complications. It would be ideal if it could only use one, though that may not be possible for the foreseeable future. See rust-lang/wg-cargo-std-aware#12
    - Features are hard-coded. See rust-lang/wg-cargo-std-aware#13
    - Lots of various platform-specific support is not included (musl, wasi, windows-gnu, etc.).
    - Default `backtrace` is used with C compiler. See rust-lang/wg-cargo-std-aware#16
    - Sanitizers are not built. See rust-lang/wg-cargo-std-aware#17
    - proc_macro has some hacky code to synthesize its dependencies. See rust-lang/wg-cargo-std-aware#18. This may not be necessary if this uses `--sysroot` instead.
    - Profile overrides cause weird linker errors.
      That is:
      ```toml
      [profile.dev.overrides.std]
      opt-level = 2
      ```
      Using `[profile.dev.overrides."*"]` works. I tried fiddling with it, but couldn't figure it out.
      We may also want to consider altering the syntax for profile overrides. Having to repeat the same profile for `std` and `core` and `alloc` and everything else would not be ideal.
    - ~~`Context::unit_deps` does not handle build overrides, see rust-lang#7215.~~ FIXED
    
    ## Questions for this PR
    - I went with the strategy of using `--extern` to link the standard lib. This seems to work, and I haven't found any problems, but it seems risky. It also forces Cargo to know about certain implicit dependencies like `compiler_builtins` and `panic_*`. The alternative is to create a sysroot and copy all the crates to that directory and pass `--sysroot`. However, this is complicated by pipelining, which would require special support to copy `.rmeta` files when they are generated. Let me know if you think I should use a different strategy. I'm on the fence here, and I think using `--sysroot` may be safer, but adds more complexity.
        - As an aside, if rustc ever tries to grab a crate from sysroot that was not passed in via `--extern`, then it results in duplicate lang items. For example, saying `extern crate proc_macro;` without specifying `proc_macro` as a dependency. We could prevent rustc from ever trying by passing `--sysroot=/nonexistent` to prevent it from trying. Or add an equivalent flag to rustc.
    - How should this be tested? I added a janky integration test, but it has some drawbacks. It requires internet access. It is slow. Since it is slow, it reuses the same target directory for multiple tests which makes it awkward to work with.
        - What interesting things are there to test?
        - We may want to disable the test before merging if it seems too annoying to make it the default. It requires rust-src to be downloaded, and takes several minutes to run, and are somewhat platform-dependent.
    - How to test that it is actually linking the correct standard library? I did tests locally with a modified libcore, but I can't think of a good way to do that in the test suite.
    - I did not add `__CARGO_DEFAULT_LIB_METADATA` to the hash. I had a hard time coming up with a test case where it would matter.
        - My only thought is that it is a problem because libstd includes a dylib, which prevents the hash from being added to the filename. It does cause recompiles when switching between compilers, for example, when it normally wouldn't.
        - Very dumb question: Why exactly does libstd include a dylib? This can cause issues (see rust-lang/rust#56443).
        - This should probably change, but I want to better understand it first.
    - The `bin_nostd` test needs to link libc on linux, and I'm not sure I understand why. I'm concerned there is something wrong there. libstd does not do that AFAIK.
    bors committed Sep 3, 2019
    Configuration menu
    Copy the full SHA
    49fbf52 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2019

  1. Change --all to --workspace

    k-nasa authored and ehuss committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    7176df0 View commit details
    Browse the repository at this point in the history
  2. Update additional uses of --all.

    - man pages
    - Slightly reword deprecation notice.
    - Include --all in man pages.
    - Update some additional usages in code and docs.
    ehuss committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    ecf824f View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7241 - k-nasa:all_to_workspace, r=ehuss

    Rename `--all` to `--workspace`
    
    ## Background
    
    close: rust-lang#6977
    
    ## Description
    - Warn when using the 'all' option
    - Changed help text
    bors committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    fe0e5a4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    880337a View commit details
    Browse the repository at this point in the history
  5. dont need to copy this string

    Eh2406 committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    542536b View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#7324 - Eh2406:two-copys-of-hash, r=alexcrichton

    don't need to copy this string
    
    This removes a `String::clone` that I noticed when profiling no-op builds of cargo, benchmarks show a barely visible improvement. Looks like it was added in rust-lang#6880, but I am not sure why.
    bors committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    e9fc779 View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#7326 - Eh2406:map_dependencies, r=ehuss

    `map_dependencies` is doing a deep clone, so lets make it cheaper
    
    This removes a `FeatureMap::clone` that I noticed when profiling no-op builds of cargo, benchmarks show a ~5% improvement. Looks like rust-lang#6880 means that there is a ref to every `Summery` so the `Rc::make_mut` dose a deep clone.
    bors committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    8f5bdc4 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2019

  1. Configuration menu
    Copy the full SHA
    2e10986 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7314 - matthiaskrgr:cargo_home_doc, r=alexcri…

    …chton
    
    guide: add section about the cargo home
    
    This PR adds a section about the $CARGO_HOME to the cargo guide.
    
    [Rendered](https://github.com/matthiaskrgr/cargo/blob/cargo_home_doc/src/doc/src/guide/cargo-home.md)
    bors committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    4dfc693 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3432813 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7332 - ehuss:man-fixup, r=alexcrichton

    Fix some man pages where the files weren't rebuilt.
    
    A few recent PRs edited the wrong files.
    bors committed Sep 5, 2019
    Configuration menu
    Copy the full SHA
    cf03f71 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2019

  1. Configuration menu
    Copy the full SHA
    734c690 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    803b9cd View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7335 - ehuss:fix-plugin, r=alexcrichton

    Fix test for changes in plugin API.
    
    Updates for rust-lang/rust#64041
    bors committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    62dfd31 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7334 - matthiaskrgr:ch_doc, r=alexcrichton

    doc: capitalization change for consistency.
    bors committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    9eaddf5 View commit details
    Browse the repository at this point in the history
  5. Add alloc and proc_macro to libstd crates

    These two have been stabilized for all targets like `std` so if `std` is
    requested let's be sure to make them available to other crates as well.
    alexcrichton committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    2ed112c View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#7336 - alexcrichton:more-crates, r=Eh2406

    Add `alloc` and `proc_macro` to libstd crates
    
    These two have been stabilized for all targets like `std` so if `std` is
    requested let's be sure to make them available to other crates as well.
    bors committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    f5a701e View commit details
    Browse the repository at this point in the history
  7. Don't resolve std's optional dependencies

    Use the `set_require_optional_deps(false)` escape hatch to avoid
    resolving optional dependencies for libstd. While it doesn't really
    matter a huge amount either way there's no need for us to generate
    resolution nodes for things like `rand` just to throw them away because
    they're never used.
    
    Closes rust-lang/wg-cargo-std-aware#37
    alexcrichton committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    4592af4 View commit details
    Browse the repository at this point in the history
  8. Auto merge of rust-lang#7337 - alexcrichton:less-optional, r=ehuss

    Don't resolve std's optional dependencies
    
    Use the `set_require_optional_deps(false)` escape hatch to avoid
    resolving optional dependencies for libstd. While it doesn't really
    matter a huge amount either way there's no need for us to generate
    resolution nodes for things like `rand` just to throw them away because
    they're never used.
    
    Closes rust-lang/wg-cargo-std-aware#37
    bors committed Sep 6, 2019
    Configuration menu
    Copy the full SHA
    ad9e421 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2019

  1. Explicitly ignore some results

    Use `let _ = ` to ignore some values that are `#[must_use]` when checking nested data types.
    varkor committed Sep 7, 2019
    Configuration menu
    Copy the full SHA
    829fd71 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2019

  1. Configuration menu
    Copy the full SHA
    f089697 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    84331fc View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2019

  1. Create a jobserver with N tokens, not N-1

    I recently added `jobserver` support to the `cc` crate and ended up
    running afoul of a `jobserver` quirk on Windows. Due to how it's
    implemented, on Windows you can't actually add more than the intial
    number of tokens to the jobserver (it uses an IPC semaphore). On Unix,
    however, you can since you're just writing bytes into a pipe.
    
    In `cc`, however, I found it convenient to control parallelism by simply
    releasing a token before the parallel loop, then reacquiring the token
    after the loop. That way the loop just has to acquire a token for each
    job it wants to spawn and then release it when the job finishes. This is
    a bit simpler than trying to juggle the "implicit token" all over the
    place as well as coordinating its use. It's technically invalid because
    it allows a brief moment of `N+1` parallelism since we release a token
    and then do a bit of work to acquire a new token, but that's hopefully
    not really the end of the world.
    
    In any case this commit updates Cargo's creation of a jobserver to create
    it with `N` tokens instead of `N-1`. The same semantics are preserved
    where Cargo then immediately acquires one of the tokens, but the
    difference is that this "implicit token" can be released back to the
    jobserver pool, unlike before.
    alexcrichton committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    cab8640 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7340 - varkor:ignore-must_use-results, r=alex…

    …crichton
    
    Explicitly ignore some results
    
    Use `let _ = ` to ignore some values that are `#[must_use]` when checking nested data types. This is necessary to compile cargo without warnings under rust-lang/rust#62262.
    bors committed Sep 9, 2019
    Configuration menu
    Copy the full SHA
    d9ff576 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2019

  1. add readme key to cargos manifest.

    This should make the readme display on cargos crates.io page
    matthiaskrgr committed Sep 10, 2019
    Configuration menu
    Copy the full SHA
    d551d90 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7347 - matthiaskrgr:manifest_readme, r=alexcr…

    …ichton
    
    add readme key to cargos manifest.
    
    This should make the readme display on cargos crates.io page
    bors committed Sep 10, 2019
    Configuration menu
    Copy the full SHA
    d41f4af View commit details
    Browse the repository at this point in the history
  3. Remove trailing spaces.

    ehuss committed Sep 10, 2019
    Configuration menu
    Copy the full SHA
    ecc175e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    57b3d04 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    48640e3 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#7348 - ehuss:fix-vendor-link, r=alexcrichton

    Home docs: fix broken links, misspellings, style fixes, clarifications.
    
    A broken link blocking upstream update. Made some other fixes while reviewing it.
    bors committed Sep 10, 2019
    Configuration menu
    Copy the full SHA
    9655d70 View commit details
    Browse the repository at this point in the history
  7. Rustfmt fixes

    da-x committed Sep 10, 2019
    Configuration menu
    Copy the full SHA
    fc4ee77 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f55a9db View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2019

  1. Auto merge of rust-lang#7351 - alexcrichton:doc-std-aware, r=ehuss

    Add initial documentation for `-Z build-std`
    
    Closes rust-lang/wg-cargo-std-aware#41
    bors committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    651b1c5 View commit details
    Browse the repository at this point in the history
  2. Don't build libstd as a dylib

    This commit forcibly prevents Cargo from building the `std` crate as a
    `dylib`, even though libstd upstream lists a `dylib` crate type. We
    ideally want a first-class feature for doing this one day, but for now
    we can just hack around with the manifests to ensure that the `dylib`
    crate type never shows up. Note that this is only supported for libstd,
    and it's also all part of the unstable details of building std.
    
    Closes rust-lang/wg-cargo-std-aware#35
    alexcrichton committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    70bea01 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7d41d45 View commit details
    Browse the repository at this point in the history
  4. Update man page

    sfackler committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    bb53f51 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7344 - alexcrichton:jobserver, r=ehuss

    Create a jobserver with N tokens, not N-1
    
    I recently added `jobserver` support to the `cc` crate and ended up
    running afoul of a `jobserver` quirk on Windows. Due to how it's
    implemented, on Windows you can't actually add more than the intial
    number of tokens to the jobserver (it uses an IPC semaphore). On Unix,
    however, you can since you're just writing bytes into a pipe.
    
    In `cc`, however, I found it convenient to control parallelism by simply
    releasing a token before the parallel loop, then reacquiring the token
    after the loop. That way the loop just has to acquire a token for each
    job it wants to spawn and then release it when the job finishes. This is
    a bit simpler than trying to juggle the "implicit token" all over the
    place as well as coordinating its use. It's technically invalid because
    it allows a brief moment of `N+1` parallelism since we release a token
    and then do a bit of work to acquire a new token, but that's hopefully
    not really the end of the world.
    
    In any case this commit updates Cargo's creation of a jobserver to create
    it with `N` tokens instead of `N-1`. The same semantics are preserved
    where Cargo then immediately acquires one of the tokens, but the
    difference is that this "implicit token" can be released back to the
    jobserver pool, unlike before.
    bors committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    a0be578 View commit details
    Browse the repository at this point in the history
  6. Pass --crate-type to rustdoc

    This supports the corresponding rustc PR. To enable rustdoc to properly
    document macros, we mirror the '--crate-type' flag used by rustc.
    Currently, all crate types other than 'proc-macro' are ignored by
    rustdoc.
    Aaron1011 committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    752112c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a0255f View commit details
    Browse the repository at this point in the history
  8. Run 'cargo fmt'

    Aaron1011 committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    511050b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5d302e5 View commit details
    Browse the repository at this point in the history
  10. Auto merge of rust-lang#7353 - alexcrichton:libstd-no-dylib, r=ehuss

    Don't build libstd as a `dylib`
    
    This commit forcibly prevents Cargo from building the `std` crate as a
    `dylib`, even though libstd upstream lists a `dylib` crate type. We
    ideally want a first-class feature for doing this one day, but for now
    we can just hack around with the manifests to ensure that the `dylib`
    crate type never shows up. Note that this is only supported for libstd,
    and it's also all part of the unstable details of building std.
    
    Closes rust-lang/wg-cargo-std-aware#35
    bors committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    4a58255 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2019

  1. Reinstate warning regarding 'debug' profile

    The previous warning was detected at the decoding level, with the test
    removed in an earlier commit. Here it is brought back, in the custom
    profile processing level.
    
    Keeping this warning will serve to prevent confusion, when people expect
    to affect the 'debug' directory via the 'debug' profile to no effect,
    where in fact the 'dev' profile is the profile that they opted to
    change.
    da-x committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    80cc7c8 View commit details
    Browse the repository at this point in the history
  2. Typo fix

    da-x committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    c86213f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d71a172 View commit details
    Browse the repository at this point in the history
  4. testsuite: introduce profile_custom

    This suite of tests verifies various cases around the 'inherits'
    keyword, and also verifies the relationship between profile overrides
    and custom profiles.
    da-x committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    593641d View commit details
    Browse the repository at this point in the history
  5. Rustfmt fixes

    da-x committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    ac2a438 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ea2b1b5 View commit details
    Browse the repository at this point in the history
  7. Add tests

    Aaron1011 committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    5bc05b4 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ffc24e0 View commit details
    Browse the repository at this point in the history
  9. Run 'cargo fmt'

    Aaron1011 committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    60afaa7 View commit details
    Browse the repository at this point in the history
  10. Clarify mandoc

    sfackler committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    84d08bd View commit details
    Browse the repository at this point in the history
  11. Auto merge of rust-lang#7354 - sfackler:publish-in-manifest, r=alexcr…

    …ichton
    
    Include the publish field in cargo-metadata output
    
    r? @alexcrichton
    bors committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    59f50ab View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2019

  1. Configuration menu
    Copy the full SHA
    ced10bd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    18a8973 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2019

  1. Configuration menu
    Copy the full SHA
    0664484 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aca3274 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    674150e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6f353b5 View commit details
    Browse the repository at this point in the history
  5. Add some asserts.

    ehuss committed Sep 14, 2019
    Configuration menu
    Copy the full SHA
    06ed7a4 View commit details
    Browse the repository at this point in the history
  6. Remove format!

    ehuss committed Sep 14, 2019
    Configuration menu
    Copy the full SHA
    da07061 View commit details
    Browse the repository at this point in the history
  7. Make timings optional.

    ehuss committed Sep 14, 2019
    Configuration menu
    Copy the full SHA
    8bfae2d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    911a9b0 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    095f154 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2019

  1. Configuration menu
    Copy the full SHA
    6b4fd44 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2019

  1. Parse unsupported crate type error more tightly

    This avoids issues when the target name contains the crate type, e.g. `bin` in `custom-bin-target.json`.
    phil-opp committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    b12bd38 View commit details
    Browse the repository at this point in the history
  2. Add a test that uses a custom binary target

    The custom target name contains the crate type `bin`.
    phil-opp committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    a5edf21 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7364 - phil-opp:fix-7363, r=alexcrichton

    Parse `unsupported crate type` error more tightly
    
    Fixes rust-lang#7363
    
    Instead of adding a new test, we could also rename the target file in an existing custom target test if you prefer.
    bors committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    be01054 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7360 - phil-opp:zbuild-std-custom-test-framew…

    …orks, r=alexcrichton
    
    [-Zbuild-std] Only build libtest when libstd is built
    
    Currently `libtest` is always compiled when a compilation unit uses a test harness. This implicitly adds builds the standard library too because `libtest` depends on it. This breaks the use of custom test frameworks in `no_std` crates as reported in rust-lang#7216 (comment).
    
    This pull request fixes the issue by only building `libtest` if `libstd` is built. This makes sense in my opinion because when the user explicitly specified `-Zbuild-std=core`, they probably don't want to build the full standard library and rather get a compilation error when they accidentally use `libtest`.
    bors committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    7ac51b7 View commit details
    Browse the repository at this point in the history
  5. Remove another FnBox trait

    No longer needed on stable!
    alexcrichton committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    573a5e7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b68e854 View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#7159 - Aaron1011:feature/rustdoc-proc-macro-f…

    …inal, r=alexcrichton
    
    Pass --crate-type to rustdoc
    
    This supports the [corresponding rustc PR](rust-lang/rust#62855). To enable rustdoc to properly
    document macros, we pass a new flag '--proc-macro-crate' when
    documenting a proc-macro crate. This causes rustdoc to enable the
    proc-macro compiler logic that runs when rustc is building a proc-macro
    crate.
    
    This flag is essentially a more restricted version of
    '--crate-type=proc-macro'. I didn't think it was necessary to pass the
    full '--crate-type' flag to rustdoc, when only two options would ever be
    used (proc-macro vs anything else).
    bors committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    b2d4f20 View commit details
    Browse the repository at this point in the history
  8. Don't hang when Cargo's worker threads panic

    This shouldn't ever happen during normal development, but happens from
    time to time while developing Cargo itself.
    
    Closes rust-lang#6433
    alexcrichton committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    8a3c0fe View commit details
    Browse the repository at this point in the history
  9. Auto merge of rust-lang#7366 - alexcrichton:fix-hang, r=Eh2406

    Don't hang when Cargo's worker threads panic
    
    This shouldn't ever happen during normal development, but happens from
    time to time while developing Cargo itself.
    
    Closes rust-lang#6433
    bors committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    bcb89d1 View commit details
    Browse the repository at this point in the history
  10. Improve test suite for -Zbuild-std

    This commit is aimed directly at rust-lang/wg-cargo-std-aware#33 and in
    general making the `-Zbuild-std` tests more robust. The main change here
    is that a new source tree is checked in, `tests/testsuite/mock-std`,
    which mirrors rust-lang/rust's own tree for libstd. This mock tree is as
    empty as it can be, ideally duplicating almost nothing but for not
    requiring duplication of Cargo metadata about patches and such.
    
    The end result here looks like:
    
    * All `-Zbuild-std` tests are now run in parallel
    * All tests run much more quickly since they're compiling tiny crates
      instead of actually compiling libstd/libcore
    * No tests require network access
    * We verify that crates have access to the "custom" libraries
      that we build
    
    Coverage of tests is not currently expanded, but it's hoped that we
    could add that shortly afterwards. Coverage has actually gone down
    slightly since the custom target test was commented out temporarily and
    the full integration test of running `-Zbuild-std` isn't run on CI any
    more.
    
    Closes rust-lang/wg-cargo-std-aware#33
    alexcrichton committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    4cbfd02 View commit details
    Browse the repository at this point in the history
  11. Extract support directory to its own crate

    Extract out all our test support code to its own standalone crate so it
    can be shared between multiple test suites if necessary.
    alexcrichton committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    9115b2c View commit details
    Browse the repository at this point in the history
  12. Add back a full integration test for -Zbuild-std

    Only run these tests on one CI builder (not all platforms) though. This
    is extremely resource intensive since it rebuilds libstd. Currently this
    does not share a build directly like before because the number of tests
    are supposed to be small, but if necessary we can add that in later too.
    alexcrichton committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    0dd7967 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    40be3bb View commit details
    Browse the repository at this point in the history
  14. Run rustfmt

    alexcrichton committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    ebd1052 View commit details
    Browse the repository at this point in the history
  15. Auto merge of rust-lang#7367 - alexcrichton:less-fn-box, r=ehuss

    Remove another `FnBox` trait
    
    No longer needed on stable!
    bors committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    4a04a1c View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#7350 - alexcrichton:mock-std, r=ehuss

    Improve test suite for `-Zbuild-std`
    
    This commit is aimed directly at rust-lang/wg-cargo-std-aware#33 and in
    general making the `-Zbuild-std` tests more robust. The main change here
    is that a new source tree is checked in, `tests/testsuite/mock-std`,
    which mirrors rust-lang/rust's own tree for libstd. This mock tree is as
    empty as it can be, ideally duplicating almost nothing but for not
    requiring duplication of Cargo metadata about patches and such.
    
    The end result here looks like:
    
    * All `-Zbuild-std` tests are now run in parallel
    * All tests run much more quickly since they're compiling tiny crates
      instead of actually compiling libstd/libcore
    * No tests require network access
    * We verify that crates have access to the "custom" libraries
      that we build
    
    Coverage of tests is not currently expanded, but it's hoped that we
    could add that shortly afterwards. Coverage has actually gone down
    slightly since the custom target test was commented out temporarily and
    the full integration test of running `-Zbuild-std` isn't run on CI any
    more.
    
    Closes rust-lang/wg-cargo-std-aware#33
    bors committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    13bc9a1 View commit details
    Browse the repository at this point in the history
  17. Uncapitalize "Could not compile" error message

    "could not compile ..." matches other Cargo and rustc errors and
    warnings better.
    jonas-schievink committed Sep 16, 2019
    Configuration menu
    Copy the full SHA
    26229cd View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2019

  1. Clear out memoized hashes before building crates

    Build script updates during execution can change the memoized hash of a
    `Fingerprint`, and while previously we cleared out a single build
    script's memoized hash we forgot to clear out everything that depended
    on it as well. This commit pessimistically clears out all `Fingerprint`
    memoized hashes just before building to ensure that during the build
    everything has the most up-to-date view of the world, and when build
    scripts change fingerprints everything that depends on them won't have
    run yet.
    
    Closes rust-lang#7362
    alexcrichton committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    c3868bb View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7369 - jonas-schievink:the-little-c-that-Coul…

    …d, r=alexcrichton
    
    Uncapitalize "Could not compile" error message
    
    "could not compile ..." matches other Cargo and rustc errors and
    warnings better.
    bors committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    3b735c6 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7373 - alexcrichton:clear-memos, r=ehuss

    Clear out memoized hashes before building crates
    
    Build script updates during execution can change the memoized hash of a
    `Fingerprint`, and while previously we cleared out a single build
    script's memoized hash we forgot to clear out everything that depended
    on it as well. This commit pessimistically clears out all `Fingerprint`
    memoized hashes just before building to ensure that during the build
    everything has the most up-to-date view of the world, and when build
    scripts change fingerprints everything that depends on them won't have
    run yet.
    
    Closes rust-lang#7362
    bors committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    658bde1 View commit details
    Browse the repository at this point in the history
  4. Work with canonical URLs in [patch]

    This commit addresses an issue with how the resolver processes `[patch]`
    annotations in manifests and lock files. Previously the resolver would
    use the raw `Url` coming out of a manifest, but the rest of resolution,
    when comparing `SourceId`, uses a canonical form of a `Url` rather than
    the actual raw `Url`. This ended up causing discrepancies like those
    found in rust-lang#7282.
    
    To fix the issue all `patch` intermediate storage in the resolver uses a
    newly-added `CanonicalUrl` type instead of a `Url`. This
    `CanonicalUrl` is then also used throughout the codebase, and all
    lookups in the resolver as switched to using `CanonicalUrl` instead of
    `Url`, which...
    
    Closes rust-lang#7282
    alexcrichton committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    e545412 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7368 - alexcrichton:canonical-urls-omg, r=ehuss

    Work with canonical URLs in `[patch]`
    
    This commit addresses an issue with how the resolver processes `[patch]`
    annotations in manifests and lock files. Previously the resolver would
    use the raw `Url` coming out of a manifest, but the rest of resolution,
    when comparing `SourceId`, uses a canonical form of a `Url` rather than
    the actual raw `Url`. This ended up causing discrepancies like those
    found in rust-lang#7282.
    
    To fix the issue all `patch` intermediate storage in the resolver uses a
    newly-added `CanonicalUrl` type instead of a `Url`. This
    `CanonicalUrl` is then also used throughout the codebase, and all
    lookups in the resolver as switched to using `CanonicalUrl` instead of
    `Url`, which...
    
    Closes rust-lang#7282
    bors committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    35c55a9 View commit details
    Browse the repository at this point in the history
  6. Switch rendering to canvas.

    Also add some more features.
    ehuss committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    77a47b3 View commit details
    Browse the repository at this point in the history
  7. Update docs.

    ehuss committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    0df0595 View commit details
    Browse the repository at this point in the history
  8. Don't require the serde feature of url

    Ends up meaning that in full crate compiles that `url` doesn't wait for
    `serde` to finish, which in turn enables crates like `git2` to start
    sooner!
    alexcrichton committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    2f79b20 View commit details
    Browse the repository at this point in the history
  9. Remove Option from Timings.

    ehuss committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    6c6aa97 View commit details
    Browse the repository at this point in the history
  10. Style update.

    ehuss committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    aae1416 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e913efe View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    8be10f7 View commit details
    Browse the repository at this point in the history
  13. Auto merge of rust-lang#7311 - ehuss:pipeline-timing, r=alexcrichton

    Experiment: Create timing report.
    
    This is just an experiment, so I'm not sure if we'll want to merge it.
    
    This adds an HTML report which gets saved to disk when the build is finished.  It is primarily geared for identifying slow dependencies, and for visualizing how pipelining affects the build.
    
    Here's an example: https://ehuss.github.io/cargo-timing.html
    You can mouse over the blocks to highlight the reverse-dependencies that are released when a unit finishes.  `syn` is a really good example.
    
    It does a few other things, like displaying a message after each unit is finished.  See the docs for more information.
    bors committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    d764fff View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#7374 - alexcrichton:less-url-serde, r=ehuss

    Don't require the `serde` feature of `url`
    
    Ends up meaning that in full crate compiles that `url` doesn't wait for
    `serde` to finish, which in turn enables crates like `git2` to start
    sooner!
    bors committed Sep 17, 2019
    Configuration menu
    Copy the full SHA
    cdf7f63 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    57c96c1 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2019

  1. Update hex requirement from 0.3 to 0.4

    Updates the requirements on [hex](https://github.com/KokaKiwi/rust-hex) to permit the latest version.
    - [Release notes](https://github.com/KokaKiwi/rust-hex/releases)
    - [Commits](https://github.com/KokaKiwi/rust-hex/commits)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Sep 18, 2019
    Configuration menu
    Copy the full SHA
    fa05eb2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    375a46f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8c93de6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a5235b7 View commit details
    Browse the repository at this point in the history
  5. added tests

    Goirad committed Sep 18, 2019
    Configuration menu
    Copy the full SHA
    a2209fc View commit details
    Browse the repository at this point in the history
  6. Update -Ztimings with CPU usage information

    This commit updates the graph generated by `-Ztimings` to include CPU
    usage information, ideally showing how Cargo/rustc used the CPU
    throughout the build, ideally seeing nice periods of parallelism and
    also periods of missed parallelism.
    alexcrichton committed Sep 18, 2019
    Configuration menu
    Copy the full SHA
    1d5d19e View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#7377 - rust-lang:dependabot/cargo/hex-0.4, r=…

    …alexcrichton
    
    Update hex requirement from 0.3 to 0.4
    
    Updates the requirements on [hex](https://github.com/KokaKiwi/rust-hex) to permit the latest version.
    <details>
    <summary>Commits</summary>
    
    - See full diff in [compare view](https://github.com/KokaKiwi/rust-hex/commits)
    </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)
    - Pull request limits (per update run and/or open at any time)
    - Automerge options (never/patch/minor, and dev/runtime dependencies)
    - 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>
    bors committed Sep 18, 2019
    Configuration menu
    Copy the full SHA
    e2ed0d0 View commit details
    Browse the repository at this point in the history
  8. Auto merge of rust-lang#6892 - Goirad:doctest-xcompile, r=alexcrichton

    Added ability to crosscompile doctests
    
    This commit adds the ability to cross-compile and run doctests.
    Like before cargo checks if target == host, the difference is that if there is a runtool defined in config.toml, it passes the information forward to rustdoc so that it can run the doctests with that tool. If no tool is defined and the target != host, cargo instead displays a message that doctests will not be compiled because of the missing runtool.
    
    See [here](rust-lang/rust#60387) for the companion PR in the rust project that modifies rustdoc to accept the relevant options as well as allow ignoring doctests on a per target level.
    Partially resolves [rust-lang#6460](rust-lang#6460)
    
    See [here](rust-lang#7040) for the tracking issue.
    bors committed Sep 18, 2019
    Configuration menu
    Copy the full SHA
    eadbaec View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2019

  1. Configuration menu
    Copy the full SHA
    079b3fb View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7385 - ehuss:fix-tar-features, r=alexcrichton

    Fix some duplicate artifact problems.
    
    The recent cargo update failed because of duplicate artifacts with rls.
    
    `tar` should mirror what the main manifest contains.
    
    Partially revert rust-lang#7374 by adding `serde` back to `url`.  Unfortunately the `lsp-types` crate (used by rls) needs this feature.  Unless anyone has a good idea on how to handle that, I don't think it can be removed.
    
    Unblocks cargo update, which I'd like to get done before the beta branch.
    bors committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    3596cb8 View commit details
    Browse the repository at this point in the history
  3. Remove all CARGO_* env vars in tests

    Usage of `CARGO_PROFILE_*` is generating unexpected warnings in tests in
    rust-lang/rust#64316 so let's just blanket remove every env var that has
    a `CARGO_*` prefix which generally means Cargo-specific env vars. Tests
    practically all assume that they have blank configs right now.
    alexcrichton committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    ef5b89c View commit details
    Browse the repository at this point in the history
  4. Remove dependency on winapi 0.2

    This commit removes Cargo's dependency on `winapi` 0.2 which takes an
    excessively long time to build, slowing down Windows builds. The
    `winapi` 0.2 crate was pulled in via a dependency chain that looked
    like:
    
        cargo
        \- crates-io
           \- http
              \- bytes
                 \- iovec
                    \- winapi 0.2
    
    The fix implemented here was to remove the `http` crate dependency from
    `crates-io` which is only used for rendering status codes, but it's easy
    enough to inline that function locally.
    alexcrichton committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    0f751de View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7389 - alexcrichton:less-winapi-02, r=Eh2406

    Remove dependency on `winapi` 0.2
    
    This commit removes Cargo's dependency on `winapi` 0.2 which takes an
    excessively long time to build, slowing down Windows builds. The
    `winapi` 0.2 crate was pulled in via a dependency chain that looked
    like:
    
        cargo
        \- crates-io
           \- http
              \- bytes
                 \- iovec
                    \- winapi 0.2
    
    The fix implemented here was to remove the `http` crate dependency from
    `crates-io` which is only used for rendering status codes, but it's easy
    enough to inline that function locally.
    bors committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    d3df047 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    35853c1 View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#7386 - alexcrichton:less-env-leak, r=ehuss

    Remove all `CARGO_*` env vars in tests
    
    Usage of `CARGO_PROFILE_*` is generating unexpected warnings in tests in
    rust-lang/rust#64316 so let's just blanket remove every env var that has
    a `CARGO_*` prefix which generally means Cargo-specific env vars. Tests
    practically all assume that they have blank configs right now.
    bors committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    d96c050 View commit details
    Browse the repository at this point in the history
  8. minimize diff

    Eh2406 committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    0bce400 View commit details
    Browse the repository at this point in the history
  9. less clones

    alexcrichton authored and Eh2406 committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    384056e View commit details
    Browse the repository at this point in the history
  10. Auto merge of rust-lang#7381 - alexcrichton:cpu-usage-graph, r=ehuss

    Update `-Ztimings` with CPU usage information
    
    This commit updates the graph generated by `-Ztimings` to include CPU
    usage information, ideally showing how Cargo/rustc used the CPU
    throughout the build, ideally seeing nice periods of parallelism and
    also periods of missed parallelism.
    bors committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    b385d51 View commit details
    Browse the repository at this point in the history
  11. Auto merge of rust-lang#7390 - Eh2406:better-graph, r=alexcrichton

    change the priority in witch we build crates
    
    On my windows 4 core, this made clean builds (of 3596cb8) go from 257-223s to 210-205s. So that looks like an improvement.
    bors committed Sep 19, 2019
    Configuration menu
    Copy the full SHA
    b6c6f68 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2019

  1. Auto merge of rust-lang#7375 - ehuss:extract-platform, r=alexcrichton

    Extract Platform to a separate crate.
    
    This moves the `Platform`, `Cfg`, `CfgExpr` types to a new crate named "cargo-platform".  The intent here is to give users of `cargo_metadata` a way of parsing and inspecting cargo's platform values.
    
    Along the way, I rewrote the error handling to remove `failure`, and to slightly improve the output.
    
    I'm having doubts whether or not this is a good idea.  As you can see from the `examples/matches.rs` example, it is nontrivial to use this (which also misses cargo's config values and environment variables).  I don't know if anyone will actually use this.  If this doesn't seem to have value, I would suggest closing it.
    
    I've also included a sample script, `publish.py`, for publishing cargo itself.  I suspect it will need tweaking, but I figure it would be a start and open for feedback.
    bors committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    7ab4778 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b5f104 View commit details
    Browse the repository at this point in the history
  3. Fix integration tests waiting for binaries to finish.

    Integration tests were waiting for binaries to finish building due to a minor
    logic error.
    ehuss committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    2e9c47b View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7394 - ehuss:fix-bin-edge, r=alexcrichton

    Fix integration tests waiting for binaries to finish.
    
    Integration tests were waiting for binaries to finish building due to a minor
    logic error.
    
    Fixes rust-lang#7393
    bors committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    023a082 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7391 - Goirad:update-doctest-xcompile-feature…

    …-docs, r=alexcrichton
    
    Add documentation for the -Zdoctest-xcompile feature
    
    @alexcrichton This adds the documentation for the `doctest-xcompile` feature that (woops) didn't make it into the first pr
    bors committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    9f7a68f View commit details
    Browse the repository at this point in the history
  6. Fix -Ztimings with doc tests.

    ehuss committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    8fadd2b View commit details
    Browse the repository at this point in the history
  7. Fix some rendering issues with -Ztimings.

    - Cap the max width to 4096. This is still quite large, but should help for some large graphs failing to display for using too much memory.
    - Don't allow labels to overflow past the right side of the graph.
    - Fix issue for very fast builds causing an error because there aren't enough CPU_USAGE entries.
    - Fix bug where `split_ticks` would enter an infinite loop (caused by small scale values). Added a counter to abort in case there are any other bugs.
    ehuss committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    67ef2cb View commit details
    Browse the repository at this point in the history
  8. Auto merge of rust-lang#7395 - ehuss:fix-timings-test, r=alexcrichton

    Fix -Ztimings with doc tests.
    
    `cargo test -Ztimings` would crash if you have any doc tests.  This is because the `Doctest` mode unit doesn't generate any artifacts, so a map lookup was failing.
    
    This also adds a basic test just to ensure it works.
    bors committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    317f0f5 View commit details
    Browse the repository at this point in the history
  9. -Ztimings: show max jobs/cpus

    ehuss committed Sep 20, 2019
    Configuration menu
    Copy the full SHA
    a6ecbad View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e6c5758 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2019

  1. Configuration menu
    Copy the full SHA
    2fd180f View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7397 - ehuss:fix-timing-scale, r=alexcrichton

    Fix some rendering issues with -Ztimings.
    
    - Cap the max width to 4096. This is still quite large, but should help for some large graphs failing to display for using too much memory.
    - Don't allow labels to overflow past the right side of the graph.
    - Fix issue for very fast builds causing an error because there aren't enough CPU_USAGE entries.
    - Fix bug where `split_ticks` would enter an infinite loop (caused by small scale values). Added a counter to abort in case there are any other bugs.
    
    Closes rust-lang#7392
    Closes rust-lang#7388
    bors committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    73d8d2d View commit details
    Browse the repository at this point in the history
  3. Update src/cargo/core/profiles.rs

    Co-Authored-By: Eric Huss <eric@huss.org>
    da-x and ehuss committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    eeab934 View commit details
    Browse the repository at this point in the history
  4. Update tests/testsuite/profile_targets.rs

    Co-Authored-By: Eric Huss <eric@huss.org>
    da-x and ehuss committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    f352af9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fb75361 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    61beda6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4c272da View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c2a8ca1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    47007d9 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    5421610 View commit details
    Browse the repository at this point in the history
  11. Update src/cargo/core/profiles.rs

    Co-Authored-By: Eric Huss <eric@huss.org>
    da-x and ehuss committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    1e097c3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    01a0c24 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    a2b7197 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    6cd8e87 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    bf5f0b7 View commit details
    Browse the repository at this point in the history
  16. Rustfmt adjustments

    da-x committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    a50be59 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    5eef815 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    97035e2 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    cdd85cc View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    3307176 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    a08a1a3 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    96bd455 View commit details
    Browse the repository at this point in the history
  23. Auto merge of rust-lang#7403 - ehuss:fix-timing-scale2, r=Eh2406

    -Ztimings: Fix more scale problems.
    
    Some more scaling fixes, causing the graph to be misaligned.  Also some adjustments to how the axes are labeled in extreme cases.
    
    Closes rust-lang#7401
    bors committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    da99127 View commit details
    Browse the repository at this point in the history
  24. Update some unstable docs

    ehuss committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    f703d3b View commit details
    Browse the repository at this point in the history
  25. Fix xcompile tests.

    ehuss committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    4850f9b View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2019

  1. Auto merge of rust-lang#7408 - ehuss:fix-xcompile-tests, r=alexcrichton

    Fix xcompile tests.
    
    The new xcompile tests weren't checking whether or not cross-compiling is disabled.  Cross doesn't work on modern macos/xcode, so these were failing for me.
    
    Also includes some minor formatting changes.
    bors committed Sep 22, 2019
    Configuration menu
    Copy the full SHA
    dba5870 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7407 - ehuss:update-unstable, r=alexcrichton

    Update some unstable docs
    
    Some minor updates.
    bors committed Sep 22, 2019
    Configuration menu
    Copy the full SHA
    7d2b578 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b437782 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2019

  1. Configuration menu
    Copy the full SHA
    30df731 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2019

  1. Configuration menu
    Copy the full SHA
    e9dd306 View commit details
    Browse the repository at this point in the history
  2. Change how standard_lib tests work

    * Minimize the sysroot crates in play
    * Don't use build scripts to inject args
    * Use `RUSTC_WRAPPER` to dynamically switch `--sysroot` depending on
      whether we're building sysroot crates or not.
    * Minimize dependency graph in sysroot, only have each crate depend on a
      dummy crates.io crate for testing and otherwise don't depend on
      anything to load the desired sysroot crate directly.
    alexcrichton authored and ehuss committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    bc5c441 View commit details
    Browse the repository at this point in the history
  3. Some more --sysroot tests.

    ehuss committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    53a3db0 View commit details
    Browse the repository at this point in the history
  4. Update env_logger requirement from 0.6.0 to 0.7.0

    Updates the requirements on [env_logger](https://github.com/sebasmagri/env_logger) to permit the latest version.
    - [Release notes](https://github.com/sebasmagri/env_logger/releases)
    - [Changelog](https://github.com/sebasmagri/env_logger/blob/master/CHANGELOG.md)
    - [Commits](rust-cli/env_logger@v0.6.0...v0.7.0)
    
    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
    dependabot-preview[bot] committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    8f52dc9 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7422 - rust-lang:dependabot/cargo/env_logger-…

    …0.7.0, r=Eh2406
    
    Update env_logger requirement from 0.6.0 to 0.7.0
    
    Updates the requirements on [env_logger](https://github.com/sebasmagri/env_logger) to permit the latest version.
    <details>
    <summary>Release notes</summary>
    
    *Sourced from [env_logger's releases](https://github.com/sebasmagri/env_logger/releases).*
    
    > ## 0.7.0
    > # Key Changes
    >
    > - Indent multiline messages by default
    > - Support more timestamp precision
    > - Update to the 2018 edition
    >
    > # Changes to minimum Rust
    >
    > The minimum version of Rust required has been set at `1.31.0`. We may change this in patch versions, but will always flag it in the release notes here.
    >
    > You can always check the `.travis.yml` file to see the current minimum supported version.
    >
    > # Contributions
    >
    > - [@&rust-lang#8203;95ulisse](https://github.com/95ulisse) [Indentation for multiline log messages](https://github-redirect.dependabot.com/sebasmagri/env_logger/pull/134)
    > - [@&rust-lang#8203;oherrala](https://github.com/oherrala) [Add more timestamp precisions](https://github-redirect.dependabot.com/sebasmagri/env_logger/pull/140)
    > - [Update to 2018 edition](https://github-redirect.dependabot.com/sebasmagri/env_logger/pull/142)
    </details>
    <details>
    <summary>Commits</summary>
    
    - [`424f031`](rust-cli/env_logger@424f031) Merge pull request [rust-lang#143](https://github-redirect.dependabot.com/sebasmagri/env_logger/issues/143) from KodrAus/cargo/0.7.0
    - [`058655e`](rust-cli/env_logger@058655e) prepare for 0.7.0 release
    - [`bfac641`](rust-cli/env_logger@bfac641) Merge pull request [rust-lang#142](https://github-redirect.dependabot.com/sebasmagri/env_logger/issues/142) from KodrAus/feat/2018
    - [`ef10fa5`](rust-cli/env_logger@ef10fa5) use specific log version
    - [`dc65e48`](rust-cli/env_logger@dc65e48) bump msrv to 1.31.0 for editions
    - [`8209524`](rust-cli/env_logger@8209524) update to 2018 edition
    - [`7105e63`](rust-cli/env_logger@7105e63) make breaking changes to timestamp API
    - [`75911d7`](rust-cli/env_logger@75911d7) Merge pull request [rust-lang#140](https://github-redirect.dependabot.com/sebasmagri/env_logger/issues/140) from oherrala/timestamp-formats
    - [`95cd4ed`](rust-cli/env_logger@95cd4ed) Trick the compiler to think we are using timestamp
    - [`92a5b2d`](rust-cli/env_logger@92a5b2d) Add more timestamp precisions
    - Additional commits viewable in [compare view](rust-cli/env_logger@v0.6.0...v0.7.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)
    - Pull request limits (per update run and/or open at any time)
    - Automerge options (never/patch/minor, and dev/runtime dependencies)
    - 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>
    bors committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    068a9b6 View commit details
    Browse the repository at this point in the history
  6. Fix interpretation of --features a b on the CLI

    Fixes an accidental regression from rust-lang#7084 where `--features a b` was
    erroneously mistinterpreted as `--features "a b"`.
    
    Closes rust-lang#7418
    alexcrichton committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    1fa02e7 View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#7419 - alexcrichton:fix-features-regression, …

    …r=ehuss
    
    Fix interpretation of `--features a b` on the CLI
    
    Fixes an accidental regression from rust-lang#7084 where `--features a b` was
    erroneously mistinterpreted as `--features "a b"`.
    
    Closes rust-lang#7418
    bors committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    aa6b7e0 View commit details
    Browse the repository at this point in the history
  8. Remove dynamic detection of pipelining support

    Pipelining has made its way to stable so no need to check that any
    more.
    alexcrichton committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    0afe1b1 View commit details
    Browse the repository at this point in the history
  9. Simplify mock rustc wrapper.

    ehuss committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    d0ab04a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8e13d1a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    581da42 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3afb5d7 View commit details
    Browse the repository at this point in the history
  13. More docs

    Eh2406 committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    473f999 View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#7411 - Eh2406:mtime, r=alexcrichton

    set -Zmtime_on_use from config or ENV
    
    This lets you set the `-Zmtime_on_use` in config, it worked for me with
    ```toml
    [unstable]
    mtime_on_use=true
    ```
    I did not find the ENV that would allow work. Suggestions?
    Does this need tests?
    
    Closes: rust-lang#6978
    bors committed Sep 24, 2019
    Configuration menu
    Copy the full SHA
    400221e View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    abe92bc View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    9d86d86 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2019

  1. Don't ever capture CPU state if timings are disabled

    This should initially help with the panic in rust-lang#7427 but doesn't solve it.
    alexcrichton committed Sep 25, 2019
    Configuration menu
    Copy the full SHA
    fb80b9e View commit details
    Browse the repository at this point in the history
  2. Call vm_deallocate on OSX for CPU statistics

    Apparently StackOverflow doesn't have all the answers. The examples
    there I lifted this from didn't account to call `vm_deallocate` because
    it looks like we're handed allocated memory! Indeed running the previous
    state capture in a loop it infinitely allocated memory, but now it holds
    steady when called in a loop.
    alexcrichton committed Sep 25, 2019
    Configuration menu
    Copy the full SHA
    e8a9d3a View commit details
    Browse the repository at this point in the history
  3. Fix a panic collecting cpu data on OSX

    There's very little documentation on `host_processor_info` from what I
    can tell, so I'm just cribbing examples I've found elsewhere on the
    internet. It appears that I've misinterpreted one of the out parameters
    of `host_processor_info` as the number of elements of an array, but it
    actually is just something forwarded to `vm_deallocate`.
    alexcrichton committed Sep 25, 2019
    Configuration menu
    Copy the full SHA
    0c812db View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7421 - ehuss:build-std-sysroot, r=alexcrichton

    Change build-std to use --sysroot
    
    This transitions build-std to use `--sysroot` instead of `--extern`. This is necessary because existing crates have a certain expectation of how standard library crates are exposed. It was intended that explicit dependencies in `Cargo.toml` would solve this problem, but I didn't really consider this would be a backwards-incompatible change, so using `--sysroot` is probably the best way to go, even though it's not ideal.
    
    Closes rust-lang/wg-cargo-std-aware#31
    Closes rust-lang/wg-cargo-std-aware#40
    bors committed Sep 25, 2019
    Configuration menu
    Copy the full SHA
    c59e1f4 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7428 - alexcrichton:nocapture, r=ehuss

    Don't ever capture CPU state if timings are disabled
    
    This should initially help with the panic in rust-lang#7427 but doesn't solve it.
    bors committed Sep 25, 2019
    Configuration menu
    Copy the full SHA
    249b31b View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#7429 - alexcrichton:fix-osx-cpu, r=ehuss

    Fix macOS collection of CPU data
    
    There's very little documentation on `host_processor_info` from what I can tell, so I'm just cribbing examples I've found elsewhere on the internet. Turns out two things were wrong:
    
    * One is that `host_processor_info` returns allocated memory we need to deallocate. Who knew!
    * Next is that one of the out parameters, `cpu_info_cnt`, is only somehow related to the size of the return, but all example code appears to just read data regardless of what it is.
    
    In any case this commit reads [libuv's implementation](https://github.com/libuv/libuv/blob/040543eebf4983b1459a1e0e0e26dae68b80cc28/src/unix/darwin.c#L174-L225) which if good enough for node.js is probably good enough for us.
    
    Closes rust-lang#7427
    bors committed Sep 25, 2019
    Configuration menu
    Copy the full SHA
    ab6fa89 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    33d5c83 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2019

  1. Fix zalgo formatting.

    ehuss committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    56f8848 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7441 - ehuss:fix-zalgo, r=alexcrichton

    Fix zalgo formatting.
    
    Now that 1.38 has hit stable, we can finally update this rustfmt change.
    bors committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    74383b4 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7440 - alexcrichton:always-pipeline, r=ehuss

    Remove dynamic detection of pipelining support
    
    Pipelining has made its way to stable so no need to check that any
    more.
    bors committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    494cbd8 View commit details
    Browse the repository at this point in the history
  4. add an option to specify ssl version

    Guanqun Lu committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    05d88bf View commit details
    Browse the repository at this point in the history
  5. remove unsafe sslv2 and sslv3 methods

    Guanqun Lu committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    342ec6d View commit details
    Browse the repository at this point in the history
  6. Refactor Kind to carry target name in Target

    This commit is an internal refactoring of Cargo's compilation backend to
    eventually support compiling multiple target simultaneously. The
    original motivation for this came up in discussion of rust-lang#7297 and this has
    long been something I've intended to update Cargo for. Nothing in the
    backend currently exposes the ability to actually build multiple target
    simultaneously, but this should have no function change with respect to
    all current consumers. Eventually we'll need to refactor APIs of how you
    enter the compilation backend to compile for multiple targets.
    alexcrichton committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    593a02f View commit details
    Browse the repository at this point in the history
  7. Refactor how compile targets are handled

    Rename `Kind` to `CompileKind` to reflect that it's intended for
    compilation. Additionally change the `Target` variant to have a newtype
    `CompileTarget` instead of just being a raw string. This new
    `CompileTarget` type has a fallible constructor and handles custom json
    target files internally.
    
    Two accessors are available for `CompileTarget`, one is `rustc_target()`
    which goes straight to rustc and everything else uses `short_name()`
    which is the raw target or file stem for json files. The `short_name` is
    used everywhere in Cargo for all purposes like configuration, env vars,
    target directory naming, etc.
    alexcrichton committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    ef425b7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f745ca7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3fce509 View commit details
    Browse the repository at this point in the history
  10. add dependencies for pkg-config

    Otherwise, it complains:
    
        run pkg_config fail: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"`: No such file or directory (os error 2)"
    guanqun committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    c2edcab View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    cec20e8 View commit details
    Browse the repository at this point in the history
  12. Auto merge of rust-lang#7444 - matthiaskrgr:clippy_v8, r=Eh2406

     fix a bunch of clippy warnings
    bors committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    d2db2bd View commit details
    Browse the repository at this point in the history
  13. Auto merge of rust-lang#7425 - alexcrichton:kind-string, r=ehuss

    Refactor `Kind` to carry target name in `Target`
    
    This commit is an internal refactoring of Cargo's compilation backend to
    eventually support compiling multiple target simultaneously. The
    original motivation for this came up in discussion of rust-lang#7297 and this has
    long been something I've intended to update Cargo for. Nothing in the
    backend currently exposes the ability to actually build multiple target
    simultaneously, but this should have no function change with respect to
    all current consumers. Eventually we'll need to refactor APIs of how you
    enter the compilation backend to compile for multiple targets.
    bors committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    d8e62ee View commit details
    Browse the repository at this point in the history
  14. Go back to not hashing RUSTFLAGS in -Cmetadata

    This is a moral revert of rust-lang#6503 but not a literal code revert. This
    switches Cargo's behavior to avoid hashing compiler flags into
    `-Cmetadata` since we've now had multiple requests of excluding flags
    from the `-Cmetadata` hash: usage of `--remap-path-prefix` and PGO
    options. These options should only affect how the compiler is
    invoked/compiled and not radical changes such as symbol names, but
    symbol names are changed based on `-Cmetadata`. Instead Cargo will still
    track these flags internally, but only for reinvoking rustc, and not for
    caching separately based on rustc flags.
    
    Closes rust-lang#7416
    alexcrichton committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    f3c92ed View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    04804ea View commit details
    Browse the repository at this point in the history
  16. Allow a number of tests to run on stable

    These tests all relied on support which has now ridden to stable at this
    point, so let's let them run on stable!
    alexcrichton committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    61fb34b View commit details
    Browse the repository at this point in the history
  17. Improve test output with --quiet

    We had a few locations where the shell was written to raw instead of
    through the test harness or through other captured mechanisms. This
    updates the test suite so testing Cargo with `--quiet` provides a nice
    and clean report of tests executed.
    alexcrichton committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    7606f79 View commit details
    Browse the repository at this point in the history
  18. Auto merge of rust-lang#7445 - alexcrichton:more-stable, r=Eh2406

    Allow a number of tests to run on stable
    
    These tests all relied on support which has now ridden to stable at this
    point, so let's let them run on stable!
    bors committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    a82037b View commit details
    Browse the repository at this point in the history
  19. Auto merge of rust-lang#7446 - alexcrichton:quiet-output, r=Eh2406

    Improve test output with `--quiet`
    
    We had a few locations where the shell was written to raw instead of
    through the test harness or through other captured mechanisms. This
    updates the test suite so testing Cargo with `--quiet` provides a nice
    and clean report of tests executed.
    bors committed Sep 26, 2019
    Configuration menu
    Copy the full SHA
    d5621be View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    36f01e6 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    4d094c0 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    e2010e8 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    f7bfd9d View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2019

  1. Auto merge of rust-lang#7448 - ehuss:gitignore-lockfile, r=alexcrichton

    Allow gitignore of Cargo.lock with explicit `include`.
    
    If a package has an `include` list, but `Cargo.lock` is in `.gitignore`, then Cargo would complain that `Cargo.lock` is "dirty".  This changes it so that ignored `Cargo.lock` is allowed, even though it is still packaged.  This is under the presumption that `Cargo.lock` is machine generated, so it is not critical.  This was also an unexpected regression.
    
    If you don't have an `include` list, then there is no complaint about `Cargo.lock` being dirty because Cargo uses git to deduce the file list, and `Cargo.lock` would be skipped for the dirty check (but still included in the package).
    
    Closes rust-lang#7319
    bors committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    d096a86 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7452 - pyrrho:bug7346/transitive_patches, r=E…

    …h2406
    
    Bug7346/transitive patches
    
    Fixes rust-lang#7346.
    
    A cursory comparison between current stable and nightly shows that projects with this topology resolve similarly. If there are other behaviors I should test, I'd be happy to expand that section. This is a pretty focused change, though, so I'm not sure what else there is to break.
    
    Sorry about the delay in putting this PR together. Good news is I know more than I did last week.
    bors committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    fdcc73f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8ad031b View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7454 - ehuss:version-bump, r=alexcrichton

    Bump to 0.41.0, Update changelog
    bors committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    3cd05e2 View commit details
    Browse the repository at this point in the history
  5. named-profiles: add backward compatibility if feature is disabled

    The effects over the profile used by targets are made conditional
    in this commit, using the old scheme if the `named-profiles` feature
    is disabled. This also affects the `profile_targets` tests, which
    now have two modes - stable, and nightly with the feature enabled.
    da-x committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    e634ee5 View commit details
    Browse the repository at this point in the history
  6. move public_dependencys code to methods for better organization

    Note: this commit does not change code, just moves it
    Eh2406 committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    1d43c19 View commit details
    Browse the repository at this point in the history
  7. Some cleanups

    Eh2406 committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    2d29734 View commit details
    Browse the repository at this point in the history
  8. change age to count edges not just activations

    A pub dep conflict can be made by connecting two already activated pids
    Eh2406 committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    a8a79b4 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4a2dcf4 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b48616f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    0750caf View commit details
    Browse the repository at this point in the history
  12. named-profiles: fix backward compatibility for rustc with `--profil…

    …e=check`
    
    And a small cleanup in `base_profile` to make the logic parallel to the
    one in `get_profile`.
    da-x committed Sep 27, 2019
    Configuration menu
    Copy the full SHA
    fad192d View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2019

  1. Configuration menu
    Copy the full SHA
    0e5d378 View commit details
    Browse the repository at this point in the history
  2. fixes

    Guanqun Lu committed Sep 29, 2019
    Configuration menu
    Copy the full SHA
    ba1f16a View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2019

  1. Auto merge of rust-lang#7417 - alexcrichton:less-hashing, r=Eh2406

    Go back to not hashing `RUSTFLAGS` in `-Cmetadata`
    
    This is a moral revert of rust-lang#6503 but not a literal code revert. This
    switches Cargo's behavior to avoid hashing compiler flags into
    `-Cmetadata` since we've now had multiple requests of excluding flags
    from the `-Cmetadata` hash: usage of `--remap-path-prefix` and PGO
    options. These options should only affect how the compiler is
    invoked/compiled and not radical changes such as symbol names, but
    symbol names are changed based on `-Cmetadata`. Instead Cargo will still
    track these flags internally, but only for reinvoking rustc, and not for
    caching separately based on rustc flags.
    
    Closes rust-lang#7416
    bors committed Sep 30, 2019
    Configuration menu
    Copy the full SHA
    99c034a View commit details
    Browse the repository at this point in the history
  2. run cargo fmt to pass the CI build

    Guanqun Lu committed Sep 30, 2019
    Configuration menu
    Copy the full SHA
    a4e3b81 View commit details
    Browse the repository at this point in the history
  3. add a bit more docs

    Guanqun Lu committed Sep 30, 2019
    Configuration menu
    Copy the full SHA
    852cf05 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7308 - guanqun:add-ssl-version, r=alexcrichton

    add an option to specify ssl version
    
    Fixes rust-lang#6684
    bors committed Sep 30, 2019
    Configuration menu
    Copy the full SHA
    8ae8b5e View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#6989 - da-x:custom-profile-pr-rfc, r=ehuss

    Support for named profiles (RFC 2678)
    
    Tracking issue: rust-lang#6988
    
    Implementation according to the [RFC](https://github.com/rust-lang/rfcs/blob/master/text/2678-named-custom-cargo-profiles.md).
    bors committed Sep 30, 2019
    Configuration menu
    Copy the full SHA
    8b0561d View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2019

  1. unify the quote in Cargo.toml

    Guanqun Lu committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    d7071c2 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7461 - guanqun:unify-quotes-in-cargo-toml, r=…

    …alexcrichton
    
    unify the quote in Cargo.toml
    
    A bit nit-picked...
    
    It tries to use double-quotes in Cargo.toml instead of single quote, that would be more uniform in this file.
    bors committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    f4d1b77 View commit details
    Browse the repository at this point in the history
  3. Removed redundant borrow

    As described here https://rust-lang.github.io/rust-clippy/master/#needless_borrow.
    rust-clippy is complaining that the related borrows are unnecessary.
    hbina committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    55deda0 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7361 - Eh2406:public_dependency-as-type_4, r=…

    …alexcrichton
    
    Public dependency refactor and re-allow backjumping
    
    There were **three** attempts at vanquishing exponential time spent in Public dependency resolution. All failures. All three started with some refactoring that seams worth saving. Specifically the data structure `public_dependency` that is used to test for Public dependency conflicts is large, tricky, and modified in line. So lets make it a type with a name and move the interactions into methods.
    
    Next each attempt needed to know how far back to jump to undo any given dependency edge. I am fairly confident that any full solution will need this functionality. I also think any solution will need a way to represent richer conflicts than the existing "is this pid active". So let's keep the `still_applies` structure from the last attempt.
    
    Last each attempt needs to pick a way to represent a Public dependency conflict. The last attempt used three facts about a situation.
    
    - `a1`: `PublicDependency(p)` witch can be read as the package `p` can see the package `a1`
    - `b`: `PublicDependency(p)` witch can be read as the package `p` can see the package `b`
    - `a2`: `PubliclyExports(b)` witch can be read as the package `b` has the package `a2` in its publick interface.
    
    This representation is good enough to allow for `backjumping`. I.E. `find_candidate` can go back several frames until the `age` when the Public dependency conflict was introduced. This optimization, added for normal dependencies in rust-lang#4834, saves the most time in practice. So having it for Public dependency conflicts is important for allowing real world experimentation of the Public dependencies feature.  We will have to alter/improve/replace this representation to unlock all of the important optimizations. But I don't know one that will work for all of them and this is a major step forward.
    
    Can be read one commit at a time.
    bors committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    368333c View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7462 - hbina:redundant_borrow, r=ehuss

    Removed redundant borrow
    
    As described here https://rust-lang.github.io/rust-clippy/master/#needless_borrow.
    rust-clippy is complaining that the related borrows are unnecessary.
    bors committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    589fa74 View commit details
    Browse the repository at this point in the history
  6. Update curl-sys dependency requirement

    Pulls in alexcrichton/curl-rust#304 which fixes a bug from the last curl
    update in rust-lang#7308. This bug was not introduced by the Cargo PR itself but
    rather by updating the `curl` submodule in the `curl-sys` crate. Without
    this bugfix all downloads of a crate will make a new connection to
    crates.io, which drastically increases download time since setting up a
    connection takes so long.
    alexcrichton committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    35bcbde View commit details
    Browse the repository at this point in the history
  7. Disable preserving mtimes on archives

    These are just wasted syscalls for our purposes, no need to issue
    updates to the modification/creation/access times of files we unpack!
    alexcrichton committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    8c92e88 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2019

  1. Configuration menu
    Copy the full SHA
    e7c5579 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#7465 - alexcrichton:no-preserve, r=Eh2406

    Disable preserving mtimes on archives
    
    These are just wasted syscalls for our purposes, no need to issue
    updates to the modification/creation/access times of files we unpack!
    bors committed Oct 2, 2019
    Configuration menu
    Copy the full SHA
    053b767 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7400 - snf:fix_7358, r=alexcrichton

    Removing hash from output files when using MSVC
    
    This is the fix for rust-lang#7358 suggested by @alexcrichton . Tested and working.
    
    I see a few tests failling but seem unrelated. I'll investigate them tomorrow.
    bors committed Oct 2, 2019
    Configuration menu
    Copy the full SHA
    9f82a74 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#7443 - guanqun:patch-1, r=ehuss

    add dependencies for `pkg-config`
    
    Otherwise, it complains:
    
        run pkg_config fail: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"`: No such file or directory (os error 2)"
    bors committed Oct 2, 2019
    Configuration menu
    Copy the full SHA
    7b07aa4 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7464 - alexcrichton:update-curl-sys, r=ehuss

    Update `curl-sys` dependency requirement
    
    Pulls in alexcrichton/curl-rust#304 which fixes a bug from the last curl
    update in rust-lang#7308. This bug was not introduced by the Cargo PR itself but
    rather by updating the `curl` submodule in the `curl-sys` crate. Without
    this bugfix all downloads of a crate will make a new connection to
    crates.io, which drastically increases download time since setting up a
    connection takes so long.
    bors committed Oct 2, 2019
    Configuration menu
    Copy the full SHA
    0a59a76 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2019

  1. Mark Emscripten's .wasm files auxiliary

    This fixes rust-lang#7471 and fixes rust-lang#7255 by preventing the .wasm file from
    being treated as an executable binary, so `cargo test` and `cargo run`
    will no longer try to execute it directly. This change is only made
    for emscripten, which outputs a .js file as the primary executable
    entry point, as opposed to other WebAssembly targets for which the
    .wasm file is the only output.
    tlively committed Oct 3, 2019
    Configuration menu
    Copy the full SHA
    715e5d8 View commit details
    Browse the repository at this point in the history
  2. rustfmt, even if I disagree

    tlively committed Oct 3, 2019
    Configuration menu
    Copy the full SHA
    189fef1 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2019

  1. Configuration menu
    Copy the full SHA
    c8c6839 View commit details
    Browse the repository at this point in the history
  2. Update SPDX list to 3.6

    Lythenas committed Oct 4, 2019
    Configuration menu
    Copy the full SHA
    bfc3603 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#7476 - tlively:emscripten-wasm-aux, r=alexcri…

    …chton
    
    Mark Emscripten's .wasm files auxiliary
    
    This fixes rust-lang#7471 and fixes rust-lang#7255 by preventing the .wasm file from
    being treated as an executable binary, so `cargo test` and `cargo run`
    will no longer try to execute it directly. This change is only made
    for Emscripten, which outputs a .js file as the primary executable
    entry point, as opposed to other WebAssembly targets for which the
    .wasm file is the only output.
    bors committed Oct 4, 2019
    Configuration menu
    Copy the full SHA
    0fe1638 View commit details
    Browse the repository at this point in the history
  4. Fix wrong directories in PATH on Windows

    This fixes an accidental regression from rust-lang#7425 where `PATH` was being
    augmented on Windows with the wrong search path for target/host
    libraries. This commit fixes the issue by simply always calculating the
    host/target library paths for `TargetInfo`, and then we explicitly use
    the same `TargetInfo` for filling out information in `Compilation`.
    
    Closes rust-lang#7475
    alexcrichton committed Oct 4, 2019
    Configuration menu
    Copy the full SHA
    61188d7 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#7482 - alexcrichton:fix-bin, r=ehuss

    Fix wrong directories in PATH on Windows
    
    This fixes an accidental regression from rust-lang#7425 where `PATH` was being
    augmented on Windows with the wrong search path for target/host
    libraries. This commit fixes the issue by simply always calculating the
    host/target library paths for `TargetInfo`, and then we explicitly use
    the same `TargetInfo` for filling out information in `Compilation`.
    
    Closes rust-lang#7475
    bors committed Oct 4, 2019
    Configuration menu
    Copy the full SHA
    6925462 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#7481 - Lythenas:doc-spdx-list-3.6, r=ehuss

    Update SPDX list to 3.6
    
    Fixes rust-lang#7477
    bors committed Oct 4, 2019
    Configuration menu
    Copy the full SHA
    a429e8c View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2019

  1. Added aliases to subcommand typo suggestions.

    Fixes rust-lang#7278.
    
    Adds the ability to list all available aliases (by enumerating configuration subkeys) and to provide them to the suggestion distance calculator.
    
    Also adds tests for alias suggestions.
    zachlute committed Oct 5, 2019
    Configuration menu
    Copy the full SHA
    39d5391 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b28da0e View commit details
    Browse the repository at this point in the history