Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/cargo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5e85ba1
Choose a base ref
...
head repository: rust-lang/cargo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 28fb200
Choose a head ref

Commits on Nov 30, 2018

  1. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    982b9e8 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    282f238 View commit details
  3. Ignore filenames, to avoid extra Windows file

    Apparently on Windows it creates an .exe & a .pdb.
    dwijnand committed Nov 30, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    c78cd0c View commit details
  4. Fix message order

    dwijnand committed Nov 30, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    b0046c0 View commit details

Commits on Dec 1, 2018

  1. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    70af063 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    020efe0 View commit details

Commits on Dec 3, 2018

  1. Auto merge of #6363 - dwijnand:add-executable-in-json-output, r=matklad

    Include executable in JSON output.
    
    Fixes #5426
    Rebase of @patriksvensson's #5517
    CC @matklad
    
    I didn't really get into the issue or the code, I just interatively rebased Patrik's branch and then massaged and cleaned up the code until the tests passed.  So please double check it for code correctness, test case correctness and test case coverage.
    
    Particularly the branch changed an if condition according to [this suggestion](#5517 (comment)) by Aleksey.  I rolled that back because at one point it helped fix a series of tests.  But let me know if that should be included here.
    bors committed Dec 3, 2018
    Copy the full SHA
    bfd6618 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    b0a6c42 View commit details
  3. Auto merge of #6372 - dwijnand:bin_dst, r=dwijnand

    Split OutputFile::bindst into OutputFile::bin_dst
    
    None
    bors committed Dec 3, 2018
    Copy the full SHA
    485670b View commit details

Commits on Dec 5, 2018

  1. Add failing test for issue #6370

    fbunt committed Dec 5, 2018
    Copy the full SHA
    86037b8 View commit details
  2. Copy the full SHA
    792a270 View commit details
  3. Copy the full SHA
    e8f37da View commit details
  4. Copy the full SHA
    4bb6925 View commit details

Commits on Dec 6, 2018

  1. Clean up pattern string

    fbunt committed Dec 6, 2018
    Copy the full SHA
    d522344 View commit details
  2. Copy the full SHA
    38fd476 View commit details
  3. Auto merge of #6382 - ehuss:fix-builtin-alias, r=alexcrichton

    Fix built-in aliases taking arguments.
    
    The built-in aliases weren't parsing their arguments. Change implementation to treat built-in aliases the same as user aliases.
    
    Fixes #6381
    bors committed Dec 6, 2018
    Copy the full SHA
    cdcb8f2 View commit details
  4. Upgrade to Rust 2018

    dwijnand committed Dec 6, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    04ddd4d View commit details
  5. Fix 2018 edition idioms

    dwijnand committed Dec 6, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    6d1d3a6 View commit details
  6. Make it clearer that rustup will also install cargo

    Make it clearer that cargo is automatically installed when installing Rust using `rustup`.
    LucianBuzzo authored Dec 6, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    0fb6f81 View commit details

Commits on Dec 7, 2018

  1. Auto merge of #6388 - LucianBuzzo:patch-1, r=alexcrichton

    Make it clearer that rustup will also install cargo
    
    Make it clearer that cargo is automatically installed when installing Rust using `rustup`.
    bors committed Dec 7, 2018
    Copy the full SHA
    c2829b3 View commit details
  2. Auto merge of #6380 - fbunt:issue-6370, r=alexcrichton

    Warn if feature is called "default-features"
    
    Fixes #6370.
    
    I'm new to Rust and Cargo so any tips or critiques are welcome!
    bors committed Dec 7, 2018
    Copy the full SHA
    d9347c3 View commit details
  3. Auto merge of #6383 - ehuss:try-old-curl, r=alexcrichton

    Fix fetching crates on old versions of libcurl.
    
    CURLOPT_PIPEWAIT was added in 7.43 but MacOS 10.9 has 7.30.
    
    Fixes #6155
    bors committed Dec 7, 2018
    Copy the full SHA
    34610eb View commit details
  4. Fix spurious error for test json_artifact_includes_test_flag

    There is a race condition for which job finishes first. On CI I am able
    to reproduce the error about 1% of the time.
    
    Recent failures:
    - https://ci.appveyor.com/project/rust-lang-libs/cargo/builds/20151768/job/oghwemec7b19turs
    - https://travis-ci.org/rust-lang/cargo/jobs/464717439
    ehuss committed Dec 7, 2018
    Copy the full SHA
    503af8a View commit details
  5. Update pretty_env_logger requirement from 0.2 to 0.3

    Updates the requirements on [pretty_env_logger](https://github.com/seanmonstar/pretty-env-logger) to permit the latest version.
    - [Release notes](https://github.com/seanmonstar/pretty-env-logger/releases)
    - [Commits](https://github.com/seanmonstar/pretty-env-logger/commits/v0.3.0)
    
    Signed-off-by: dependabot[bot] <support@dependabot.com>
    dependabot-support committed Dec 7, 2018

    Unverified

    The committer email address is not verified.
    Copy the full SHA
    c8d9085 View commit details
  6. Auto merge of #6392 - rust-lang:dependabot/cargo/pretty_env_logger-0.…

    …3, r=dwijnand
    
    Update pretty_env_logger requirement from 0.2 to 0.3
    
    Updates the requirements on [pretty_env_logger](https://github.com/seanmonstar/pretty-env-logger) to permit the latest version.
    <details>
    <summary>Commits</summary>
    
    - See full diff in [compare view](https://github.com/seanmonstar/pretty-env-logger/commits/v0.3.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`.
    
    ---
    
    <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 cancel merge` will cancel a previously requested merge
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
    - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
    - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
    - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
    - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
    
    Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
    - Update frequency (including time of day and day of week)
    - Automerge options (never/patch/minor, and dev/runtime dependencies)
    - Pull request limits (per update run and/or open at any time)
    - Out-of-range updates (receive only lockfile updates, if desired)
    - Security updates (receive only security updates, if desired)
    
    Finally, you can contact us by mentioning @dependabot.
    
    </details>
    bors committed Dec 7, 2018
    Copy the full SHA
    f0ecafa View commit details
  7. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    cd87368 View commit details
  8. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    83fc076 View commit details
  9. Auto merge of #6391 - ehuss:fix-jaitf, r=alexcrichton

    Fix spurious error for test json_artifact_includes_test_flag
    
    There is a race condition for which job finishes first. On CI I am able
    to reproduce the error about 1% of the time.
    
    Recent failures:
    - https://ci.appveyor.com/project/rust-lang-libs/cargo/builds/20151768/job/oghwemec7b19turs
    - https://travis-ci.org/rust-lang/cargo/jobs/464717439
    bors committed Dec 7, 2018
    Copy the full SHA
    c66fcd5 View commit details
  10. Auto merge of #6393 - dwijnand:add-an-array-of-tables-example-to-mani…

    …fest-docs, r=alexcrichton
    
    Add an array of tables example to the manifest docs
    
    Fixes #2992
    bors committed Dec 7, 2018
    Copy the full SHA
    cae455e View commit details
  11. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    8af0a93 View commit details
  12. Verified

    This commit was signed with the committer’s verified signature.
    dwijnand Dale Wijnand
    Copy the full SHA
    5aebc8a View commit details
  13. Auto merge of #6387 - dwijnand:rust-2018, r=dwijnand

    Upgrade to Rust 2018 & fix edition idioms
    
    None
    bors committed Dec 7, 2018
    Copy the full SHA
    41a7e15 View commit details

Commits on Dec 8, 2018

  1. Bump to 0.34.0

    alexcrichton committed Dec 8, 2018
    Copy the full SHA
    1b886f7 View commit details
  2. Format with cargo fmt

    alexcrichton committed Dec 8, 2018
    Copy the full SHA
    fecb724 View commit details
  3. Remove unused imports

    alexcrichton committed Dec 8, 2018
    Copy the full SHA
    9ebf065 View commit details
  4. Auto merge of #6400 - alexcrichton:fmt, r=dwijnand

    Format with `cargo fmt`
    bors committed Dec 8, 2018
    Copy the full SHA
    1e768f7 View commit details
  5. Auto merge of #6399 - alexcrichton:bump, r=alexcrichton

    Bump to 0.34.0
    bors committed Dec 8, 2018
    Copy the full SHA
    c4b5a63 View commit details

Commits on Dec 9, 2018

  1. Minor update to config docs.

    ehuss committed Dec 9, 2018
    Copy the full SHA
    6e9b40c View commit details
  2. Fix install link.

    The new website broke the old links. They are setting up redirects (rust-lang/www.rust-lang.org#597), but I figured may as well use the new location to avoid the redirect.
    ehuss committed Dec 9, 2018
    Copy the full SHA
    7c823bf View commit details
  3. Auto merge of #6404 - ehuss:fix-install-link, r=alexcrichton

    Fix install link.
    
    The new website broke the old links. They are setting up redirects (rust-lang/www.rust-lang.org#597), but I figured may as well use the new location to avoid the redirect.
    bors committed Dec 9, 2018
    Copy the full SHA
    18aa5fb View commit details
  4. Auto merge of #6403 - ehuss:doc-config-update, r=alexcrichton

    Minor update to config docs.
    bors committed Dec 9, 2018
    Copy the full SHA
    e64e628 View commit details
  5. Remove redundant clones

    sinkuu committed Dec 9, 2018
    Copy the full SHA
    35a2b86 View commit details
  6. Verified

    This commit was signed with the committer’s verified signature.
    spk Laurent Arnoud
    Copy the full SHA
    6974043 View commit details
  7. Merge pull request #6410 from spk/readme-add-git

    README: add git as required package
    nrc authored Dec 9, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    7d43b38 View commit details
  8. Copy the full SHA
    49d753e View commit details
  9. Auto merge of #6411 - ehuss:fix-bfbo, r=alexcrichton

    Fix flakey broken_fixes_backed_out test.
    
    Since `fix` does `--all-targets` there is a race condition as to which target goes first. This has less than a 1% failure rate on CI, but it has been seen several times lately:
    
    https://ci.appveyor.com/project/rust-lang-libs/cargo/builds/20878003/job/v01k5j14od50mghw
    https://ci.appveyor.com/project/rust-lang-libs/cargo/builds/18699824/job/465w7uav7ew24yka
    https://ci.appveyor.com/project/rust-lang-libs/cargo/builds/17283788/job/7cxp8bwm4d3i1xgl
    bors committed Dec 9, 2018
    Copy the full SHA
    a6b2148 View commit details
  10. Auto merge of #6407 - sinkuu:redundant_clone, r=dwijnand

    Remove redundant clones
    bors committed Dec 9, 2018
    Copy the full SHA
    28fb200 View commit details
Showing with 7,099 additions and 4,097 deletions.
  1. +1 −1 .travis.yml
  2. +4 −3 Cargo.toml
  3. +1 −0 README.md
  4. +2 −2 appveyor.yml
  5. +9 −15 src/bin/cargo/cli.rs
  6. +2 −2 src/bin/cargo/commands/bench.rs
  7. +3 −3 src/bin/cargo/commands/build.rs
  8. +3 −3 src/bin/cargo/commands/check.rs
  9. +2 −2 src/bin/cargo/commands/clean.rs
  10. +2 −2 src/bin/cargo/commands/doc.rs
  11. +2 −2 src/bin/cargo/commands/fetch.rs
  12. +16 −13 src/bin/cargo/commands/fix.rs
  13. +2 −2 src/bin/cargo/commands/generate_lockfile.rs
  14. +2 −2 src/bin/cargo/commands/git_checkout.rs
  15. +2 −2 src/bin/cargo/commands/init.rs
  16. +2 −2 src/bin/cargo/commands/install.rs
  17. +4 −3 src/bin/cargo/commands/locate_project.rs
  18. +2 −2 src/bin/cargo/commands/login.rs
  19. +2 −2 src/bin/cargo/commands/metadata.rs
  20. +8 −22 src/bin/cargo/commands/mod.rs
  21. +6 −5 src/bin/cargo/commands/new.rs
  22. +10 −6 src/bin/cargo/commands/owner.rs
  23. +4 −3 src/bin/cargo/commands/package.rs
  24. +2 −2 src/bin/cargo/commands/pkgid.rs
  25. +2 −2 src/bin/cargo/commands/publish.rs
  26. +2 −2 src/bin/cargo/commands/read_manifest.rs
  27. +3 −3 src/bin/cargo/commands/run.rs
  28. +2 −2 src/bin/cargo/commands/rustc.rs
  29. +2 −2 src/bin/cargo/commands/rustdoc.rs
  30. +4 −3 src/bin/cargo/commands/search.rs
  31. +7 −4 src/bin/cargo/commands/test.rs
  32. +2 −2 src/bin/cargo/commands/uninstall.rs
  33. +2 −2 src/bin/cargo/commands/update.rs
  34. +2 −2 src/bin/cargo/commands/verify_project.rs
  35. +3 −3 src/bin/cargo/commands/version.rs
  36. +2 −2 src/bin/cargo/commands/yank.rs
  37. +29 −32 src/bin/cargo/main.rs
  38. +2 −2 src/cargo/core/compiler/build_config.rs
  39. +5 −5 src/cargo/core/compiler/build_context/mod.rs
  40. +2 −2 src/cargo/core/compiler/build_context/target_info.rs
  41. +2 −2 src/cargo/core/compiler/build_plan.rs
  42. +3 −3 src/cargo/core/compiler/compilation.rs
  43. +12 −2 src/cargo/core/compiler/context/compilation_files.rs
  44. +24 −10 src/cargo/core/compiler/context/mod.rs
  45. +5 −5 src/cargo/core/compiler/context/unit_dependencies.rs
  46. +5 −5 src/cargo/core/compiler/custom_build.rs
  47. +5 −5 src/cargo/core/compiler/fingerprint.rs
  48. +1 −1 src/cargo/core/compiler/job.rs
  49. +8 −8 src/cargo/core/compiler/job_queue.rs
  50. +2 −2 src/cargo/core/compiler/layout.rs
  51. +11 −9 src/cargo/core/compiler/mod.rs
  52. +2 −2 src/cargo/core/compiler/output_depinfo.rs
  53. +4 −4 src/cargo/core/dependency.rs
  54. +9 −8 src/cargo/core/features.rs
  55. +7 −7 src/cargo/core/manifest.rs
  56. +2 −4 src/cargo/core/mod.rs
  57. +28 −18 src/cargo/core/package.rs
  58. +6 −6 src/cargo/core/package_id.rs
  59. +4 −4 src/cargo/core/package_id_spec.rs
  60. +7 −7 src/cargo/core/profiles.rs
  61. +8 −8 src/cargo/core/registry.rs
  62. +2 −2 src/cargo/core/resolver/conflict_cache.rs
  63. +4 −4 src/cargo/core/resolver/context.rs
  64. +3 −3 src/cargo/core/resolver/encode.rs
  65. +3 −3 src/cargo/core/resolver/errors.rs
  66. +6 −6 src/cargo/core/resolver/mod.rs
  67. +4 −4 src/cargo/core/resolver/resolve.rs
  68. +4 −4 src/cargo/core/resolver/types.rs
  69. +1 −1 src/cargo/core/shell.rs
  70. +2 −2 src/cargo/core/source/mod.rs
  71. +6 −6 src/cargo/core/source/source_id.rs
  72. +3 −3 src/cargo/core/summary.rs
  73. +10 −10 src/cargo/core/workspace.rs
  74. +15 −15 src/cargo/lib.rs
  75. +1 −1 src/cargo/macros.rs
  76. +7 −7 src/cargo/ops/cargo_clean.rs
  77. +11 −9 src/cargo/ops/cargo_compile.rs
  78. +3 −3 src/cargo/ops/cargo_doc.rs
  79. +5 −5 src/cargo/ops/cargo_fetch.rs
  80. +7 −7 src/cargo/ops/cargo_generate_lockfile.rs
  81. +13 −13 src/cargo/ops/cargo_install.rs
  82. +4 −4 src/cargo/ops/cargo_new.rs
  83. +4 −4 src/cargo/ops/cargo_output_metadata.rs
  84. +7 −7 src/cargo/ops/cargo_package.rs
  85. +3 −3 src/cargo/ops/cargo_pkgid.rs
  86. +5 −5 src/cargo/ops/cargo_read_manifest.rs
  87. +13 −10 src/cargo/ops/cargo_run.rs
  88. +5 −5 src/cargo/ops/cargo_test.rs
  89. +6 −6 src/cargo/ops/fix.rs
  90. +5 −5 src/cargo/ops/lockfile.rs
  91. +18 −16 src/cargo/ops/mod.rs
  92. +13 −13 src/cargo/ops/registry.rs
  93. +7 −7 src/cargo/ops/resolve.rs
  94. +9 −9 src/cargo/sources/config.rs
  95. +6 −6 src/cargo/sources/directory.rs
  96. +2 −2 src/cargo/sources/git/mod.rs
  97. +9 −9 src/cargo/sources/git/source.rs
  98. +35 −27 src/cargo/sources/git/utils.rs
  99. +6 −6 src/cargo/sources/path.rs
  100. +5 −5 src/cargo/sources/registry/index.rs
  101. +5 −5 src/cargo/sources/registry/local.rs
  102. +9 −9 src/cargo/sources/registry/mod.rs
  103. +8 −8 src/cargo/sources/registry/remote.rs
  104. +3 −3 src/cargo/sources/replaced.rs
  105. +14 −10 src/cargo/util/cfg.rs
  106. +39 −37 src/cargo/util/command_prelude.rs
  107. +11 −11 src/cargo/util/config.rs
  108. +11 −9 src/cargo/util/dependency_queue.rs
  109. +16 −12 src/cargo/util/diagnostic_server.rs
  110. +4 −4 src/cargo/util/errors.rs
  111. +11 −16 src/cargo/util/flock.rs
  112. +2 −2 src/cargo/util/important_paths.rs
  113. +2 −2 src/cargo/util/job.rs
  114. +2 −3 src/cargo/util/lockserver.rs
  115. +5 −2 src/cargo/util/machine_message.rs
  116. +18 −18 src/cargo/util/mod.rs
  117. +10 −10 src/cargo/util/network.rs
  118. +9 −5 src/cargo/util/paths.rs
  119. +16 −30 src/cargo/util/process_builder.rs
  120. +6 −6 src/cargo/util/profile.rs
  121. +8 −11 src/cargo/util/progress.rs
  122. +7 −7 src/cargo/util/rustc.rs
  123. +1 −1 src/cargo/util/to_semver.rs
  124. +1 −1 src/cargo/util/to_url.rs
  125. +18 −10 src/cargo/util/toml/mod.rs
  126. +2 −2 src/cargo/util/toml/targets.rs
  127. +13 −5 src/cargo/util/vcs.rs
  128. +2 −1 src/crates-io/Cargo.toml
  129. +4 −4 src/crates-io/lib.rs
  130. +3 −3 src/doc/src/getting-started/installation.md
  131. +3 −1 src/doc/src/reference/config.md
  132. +6 −0 src/doc/src/reference/manifest.md
  133. +46 −24 tests/testsuite/alt_registry.rs
  134. +164 −83 tests/testsuite/bad_config.rs
  135. +13 −7 tests/testsuite/bad_manifest_path.rs
  136. +246 −102 tests/testsuite/bench.rs
  137. +490 −255 tests/testsuite/build.rs
  138. +33 −18 tests/testsuite/build_auth.rs
  139. +7 −4 tests/testsuite/build_lib.rs
  140. +14 −8 tests/testsuite/build_plan.rs
  141. +493 −247 tests/testsuite/build_script.rs
  142. +20 −11 tests/testsuite/build_script_env.rs
  143. +39 −13 tests/testsuite/cargo_alias_config.rs
  144. +37 −18 tests/testsuite/cargo_command.rs
  145. +41 −21 tests/testsuite/cargo_features.rs
  146. +38 −25 tests/testsuite/cfg.rs
  147. +77 −44 tests/testsuite/check.rs
  148. +26 −14 tests/testsuite/clean.rs
  149. +1 −1 tests/testsuite/collisions.rs
  150. +49 −34 tests/testsuite/concurrent.rs
  151. +7 −4 tests/testsuite/config.rs
  152. +10 −6 tests/testsuite/corrupt_git.rs
  153. +141 −73 tests/testsuite/cross_compile.rs
  154. +13 −7 tests/testsuite/cross_publish.rs
  155. +14 −8 tests/testsuite/custom_target.rs
  156. +5 −3 tests/testsuite/death.rs
  157. +7 −4 tests/testsuite/dep_info.rs
  158. +81 −43 tests/testsuite/directory.rs
  159. +179 −98 tests/testsuite/doc.rs
  160. +5 −3 tests/testsuite/edition.rs
  161. +237 −103 tests/testsuite/features.rs
  162. +7 −5 tests/testsuite/fetch.rs
  163. +122 −74 tests/testsuite/fix.rs
  164. +142 −73 tests/testsuite/freshness.rs
  165. +14 −8 tests/testsuite/generate_lockfile.rs
  166. +399 −203 tests/testsuite/git.rs
  167. +15 −12 tests/testsuite/init.rs
  168. +136 −76 tests/testsuite/install.rs
  169. +19 −10 tests/testsuite/jobserver.rs
  170. +51 −27 tests/testsuite/local_registry.rs
  171. +36 −23 tests/testsuite/lockfile_compat.rs
  172. +3 −3 tests/testsuite/login.rs
  173. +0 −13 tests/testsuite/main.rs
  174. +1 −1 tests/testsuite/member_errors.rs
  175. +78 −41 tests/testsuite/metabuild.rs
  176. +62 −32 tests/testsuite/metadata.rs
  177. +13 −7 tests/testsuite/net_config.rs
  178. +45 −50 tests/testsuite/new.rs
  179. +22 −12 tests/testsuite/out_dir.rs
  180. +158 −81 tests/testsuite/overrides.rs
  181. +127 −63 tests/testsuite/package.rs
  182. +98 −51 tests/testsuite/patch.rs
  183. +132 −68 tests/testsuite/path.rs
  184. +52 −27 tests/testsuite/plugins.rs
  185. +34 −18 tests/testsuite/proc_macro.rs
  186. +55 −28 tests/testsuite/profile_config.rs
  187. +49 −30 tests/testsuite/profile_overrides.rs
  188. +32 −18 tests/testsuite/profile_targets.rs
  189. +42 −22 tests/testsuite/profiles.rs
  190. +67 −35 tests/testsuite/publish.rs
  191. +6 −6 tests/testsuite/read_manifest.rs
  192. +200 −101 tests/testsuite/registry.rs
  193. +42 −27 tests/testsuite/rename_deps.rs
  194. +129 −66 tests/testsuite/required_features.rs
  195. +11 −11 tests/testsuite/resolve.rs
  196. +115 −59 tests/testsuite/run.rs
  197. +72 −38 tests/testsuite/rustc.rs
  198. +4 −3 tests/testsuite/rustc_info_cache.rs
  199. +20 −15 tests/testsuite/rustdoc.rs
  200. +7 −4 tests/testsuite/rustdocflags.rs
  201. +148 −75 tests/testsuite/rustflags.rs
  202. +4 −4 tests/testsuite/search.rs
  203. +3 −2 tests/testsuite/shell_quoting.rs
  204. +6 −5 tests/testsuite/small_fd_limits.rs
  205. +1 −1 tests/testsuite/support/cross_compile.rs
  206. +1 −1 tests/testsuite/support/git.rs
  207. +1 −1 tests/testsuite/support/install.rs
  208. +43 −48 tests/testsuite/support/mod.rs
  209. +6 −4 tests/testsuite/support/publish.rs
  210. +12 −7 tests/testsuite/support/registry.rs
  211. +3 −3 tests/testsuite/support/resolver.rs
  212. +547 −267 tests/testsuite/test.rs
  213. +30 −16 tests/testsuite/tool_paths.rs
  214. +42 −22 tests/testsuite/update.rs
  215. +6 −3 tests/testsuite/verify_project.rs
  216. +3 −2 tests/testsuite/version.rs
  217. +10 −6 tests/testsuite/warn_on_failure.rs
  218. +223 −112 tests/testsuite/workspaces.rs
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ matrix:
# increased every 6 weeks or so when the first PR to use a new feature.
- env: TARGET=x86_64-unknown-linux-gnu
ALT=i686-unknown-linux-gnu
rust: 1.28.0
rust: 1.31.0
script:
- rustup toolchain install nightly
- cargo +nightly generate-lockfile -Z minimal-versions
7 changes: 4 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[package]
name = "cargo"
version = "0.33.0"
version = "0.34.0"
edition = "2018"
authors = ["Yehuda Katz <wycats@gmail.com>",
"Carl Lerche <me@carllerche.com>",
"Alex Crichton <alex@alexcrichton.com>"]
@@ -19,13 +20,13 @@ path = "src/cargo/lib.rs"
[dependencies]
atty = "0.2"
bytesize = "1.0"
crates-io = { path = "src/crates-io", version = "0.21" }
crates-io = { path = "src/crates-io", version = "0.22" }
crossbeam-utils = "0.6"
crypto-hash = "0.3.1"
curl = { version = "0.4.19", features = ['http2'] }
curl-sys = "0.4.15"
env_logger = "0.6.0"
pretty_env_logger = { version = "0.2", optional = true }
pretty_env_logger = { version = "0.3", optional = true }
failure = "0.1.2"
filetime = "0.2"
flate2 = { version = "1.0.3", features = ['zlib'] }
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -20,6 +20,7 @@ locally you probably also have `cargo` installed locally.

Cargo requires the following tools and packages to build:

* `git`
* `python`
* `curl` (on Unix)
* OpenSSL headers (only for Unix, this is the `libssl-dev` package on ubuntu)
4 changes: 2 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ install:
- appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
- rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
- if defined MINIMAL_VERSIONS rustup toolchain install 1.28.0
- if defined MINIMAL_VERSIONS rustup toolchain install 1.31.0
- if defined OTHER_TARGET rustup target add %OTHER_TARGET%
- rustc -V
- cargo -V
@@ -25,5 +25,5 @@ test_script:
# we don't have ci time to run the full `cargo test` with `minimal-versions` like
# - if defined MINIMAL_VERSIONS cargo +nightly generate-lockfile -Z minimal-versions && cargo +stable test
# so we just run `cargo check --tests` like
- if defined MINIMAL_VERSIONS cargo +nightly generate-lockfile -Z minimal-versions && cargo +1.28.0 check --tests
- if defined MINIMAL_VERSIONS cargo +nightly generate-lockfile -Z minimal-versions && cargo +1.31.0 check --tests
- if NOT defined MINIMAL_VERSIONS cargo test
24 changes: 9 additions & 15 deletions src/bin/cargo/cli.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
extern crate clap;
use clap;

use clap::{AppSettings, Arg, ArgMatches};

use cargo::{self, CliResult, Config};

use super::commands::{self, BuiltinExec};
use super::commands;
use super::list_commands;
use command_prelude::*;
use crate::command_prelude::*;

pub fn main(config: &mut Config) -> CliResult {
let args = match cli().get_matches_safe() {
@@ -107,28 +107,22 @@ fn expand_aliases(
commands::builtin_exec(cmd),
super::aliased_command(config, cmd)?,
) {
(
Some(BuiltinExec {
alias_for: None, ..
}),
Some(_),
) => {
(Some(_), Some(_)) => {
// User alias conflicts with a built-in subcommand
config.shell().warn(format!(
"user-defined alias `{}` is ignored, because it is shadowed by a built-in command",
cmd,
))?;
}
(_, Some(mut user_alias)) => {
// User alias takes precedence over built-in aliases
user_alias.extend(
(_, Some(mut alias)) => {
alias.extend(
args.values_of("")
.unwrap_or_default()
.map(|s| s.to_string()),
);
let args = cli()
.setting(AppSettings::NoBinaryName)
.get_matches_from_safe(user_alias)?;
.get_matches_from_safe(alias)?;
return expand_aliases(config, args);
}
(_, None) => {}
@@ -138,7 +132,7 @@ fn expand_aliases(
Ok(args)
}

fn execute_subcommand(config: &mut Config, args: &ArgMatches) -> CliResult {
fn execute_subcommand(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let (cmd, subcommand_args) = match args.subcommand() {
(cmd, Some(args)) => (cmd, args),
_ => {
@@ -165,7 +159,7 @@ fn execute_subcommand(config: &mut Config, args: &ArgMatches) -> CliResult {
.unwrap_or_default(),
)?;

if let Some(BuiltinExec { exec, .. }) = commands::builtin_exec(cmd) {
if let Some(exec) = commands::builtin_exec(cmd) {
return exec(config, subcommand_args);
}

4 changes: 2 additions & 2 deletions src/bin/cargo/commands/bench.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops::{self, TestOptions};

@@ -70,7 +70,7 @@ Compilation can be customized with the `bench` profile in the manifest.
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
let mut compile_opts = args.compile_options(config, CompileMode::Bench)?;
compile_opts.build_config.release = true;
6 changes: 3 additions & 3 deletions src/bin/cargo/commands/build.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops;

pub fn cli() -> App {
subcommand("build")
// subcommand aliases are handled in commands::builtin_exec() and cli::expand_aliases()
// subcommand aliases are handled in aliased_command()
// .alias("b")
.about("Compile a local package and all of its dependencies")
.arg_package_spec(
@@ -46,7 +46,7 @@ the --release flag will use the `release` profile instead.
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
let mut compile_opts = args.compile_options(config, CompileMode::Build)?;
compile_opts.export_dir = args.value_of_path("out-dir", config);
6 changes: 3 additions & 3 deletions src/bin/cargo/commands/check.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops;

pub fn cli() -> App {
subcommand("check")
// subcommand aliases are handled in commands::builtin_exec() and cli::expand_aliases()
// subcommand aliases are handled in aliased_command()
// .alias("c")
.about("Check a local package and all of its dependencies for errors")
.arg_package_spec(
@@ -53,7 +53,7 @@ The `--profile test` flag can be used to check unit tests with the
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
let test = match args.value_of("profile") {
Some("test") => true,
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/clean.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops::{self, CleanOptions};

@@ -21,7 +21,7 @@ and its format, see the `cargo help pkgid` command.
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
let opts = CleanOptions {
config,
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/doc.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops::{self, DocOptions};

@@ -45,7 +45,7 @@ the `cargo help pkgid` command.
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
let mode = CompileMode::Doc {
deps: !args.is_present("no-deps"),
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/fetch.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops;
use cargo::ops::FetchOptions;
@@ -22,7 +22,7 @@ all updated.
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;

let opts = FetchOptions {
29 changes: 16 additions & 13 deletions src/bin/cargo/commands/fix.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops::{self, CompileFilter, FilterRule};

@@ -54,7 +54,7 @@ pub fn cli() -> App {
.arg(
Arg::with_name("idioms")
.long("edition-idioms")
.help("Fix warnings to migrate to the idioms of an edition")
.help("Fix warnings to migrate to the idioms of an edition"),
)
.arg(
Arg::with_name("allow-no-vcs")
@@ -104,7 +104,7 @@ https://github.com/rust-lang/cargo
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
let test = match args.value_of("profile") {
Some("test") => true,
@@ -133,15 +133,18 @@ pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
tests: FilterRule::All,
}
}
ops::fix(&ws, &mut ops::FixOptions {
edition: args.is_present("edition"),
prepare_for: args.value_of("prepare-for"),
idioms: args.is_present("idioms"),
compile_opts: opts,
allow_dirty: args.is_present("allow-dirty"),
allow_no_vcs: args.is_present("allow-no-vcs"),
allow_staged: args.is_present("allow-staged"),
broken_code: args.is_present("broken-code"),
})?;
ops::fix(
&ws,
&mut ops::FixOptions {
edition: args.is_present("edition"),
prepare_for: args.value_of("prepare-for"),
idioms: args.is_present("idioms"),
compile_opts: opts,
allow_dirty: args.is_present("allow-dirty"),
allow_no_vcs: args.is_present("allow-no-vcs"),
allow_staged: args.is_present("allow-staged"),
broken_code: args.is_present("broken-code"),
},
)?;
Ok(())
}
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/generate_lockfile.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops;

@@ -8,7 +8,7 @@ pub fn cli() -> App {
.arg_manifest_path()
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
ops::generate_lockfile(&ws)?;
Ok(())
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/git_checkout.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::core::{GitReference, Source, SourceId};
use cargo::sources::GitSource;
@@ -21,7 +21,7 @@ pub fn cli() -> App {
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let url = args.value_of("url").unwrap().to_url()?;
let reference = args.value_of("reference").unwrap();

4 changes: 2 additions & 2 deletions src/bin/cargo/commands/init.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops;

@@ -10,7 +10,7 @@ pub fn cli() -> App {
.arg_new_opts()
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let opts = args.new_options(config)?;
ops::init(&opts, config)?;
config
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/install.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::core::{GitReference, SourceId};
use cargo::ops;
@@ -74,7 +74,7 @@ continuous integration systems.",
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let registry = args.registry(config)?;

config.reload_rooted_at_cargo_home()?;
7 changes: 4 additions & 3 deletions src/bin/cargo/commands/locate_project.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::print_json;

@@ -13,10 +13,11 @@ pub struct ProjectLocation<'a> {
root: &'a str,
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let root = args.root_manifest(config)?;

let root = root.to_str()
let root = root
.to_str()
.ok_or_else(|| {
format_err!(
"your package path contains characters \
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/login.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use std::io::{self, BufRead};

@@ -18,7 +18,7 @@ pub fn cli() -> App {
.arg(opt("registry", "Registry to use").value_name("REGISTRY"))
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let registry = args.registry(config)?;

let token = match args.value_of("token") {
4 changes: 2 additions & 2 deletions src/bin/cargo/commands/metadata.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use command_prelude::*;
use crate::command_prelude::*;

use cargo::ops::{self, OutputMetadataOptions};
use cargo::print_json;
@@ -24,7 +24,7 @@ pub fn cli() -> App {
)
}

pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;

let version = match args.value_of("format-version") {
Loading