Add rustc-bin-link-arg and rustc-link-arg custom build options
Both are similar to rustc-cdylib-link-arg. The rustc-bin-link-arg option
adds -C link-arg=... on binary targets. The rustc-link-arg option adds -C
link-arg=... on all supported targets (currently only binaries and cdylib
libraries).
bors [Wed, 4 Nov 2020 22:20:36 +0000 (22:20 +0000)]
Auto merge of #8818 - ehuss:weak-dep-features, r=alexcrichton
Implement weak dependency features.
This adds the feature syntax `dep_name?/feat_name` with a `?` to only enable `feat_name` if the optional dependency `dep_name` is enabled through some other means. See `unstable.md` for documentation.
This only works with the new feature resolver. I don't think I understand the dependency resolver well enough to implement it there. It would require teaching it to defer activating a feature, but due to the backtracking nature, I don't really know how to accomplish that. I don't think it matters, the main drawback is that the dependency resolver will be slightly more constrained, but in practice I doubt it will ever matter.
Closes #3494
**Question**
* An alternate syntax I considered was `dep_name?feat_name` (without the slash), what do people think? For some reason the `?/` seems kinda awkward to me.
Eric Huss [Sun, 25 Oct 2020 23:12:29 +0000 (16:12 -0700)]
Change for_host argument order for functions.
This consistently puts for_host next to PackageId, since the pair
PackageId/for_host is used everywhere together. Somehow it seems better
to me to consistently keep them close together.
bors [Tue, 3 Nov 2020 15:05:18 +0000 (15:05 +0000)]
Auto merge of #8823 - ehuss:minimal-download, r=alexcrichton
Avoid some extra downloads with new feature resolver.
There are some edge cases with the new feature resolver where it can erroneously trigger a download of a package that is not needed. This is due to the call `is_proc_macro` which has to downloaded the manifest to check if it is a proc-macro. The main change here is to defer calling `is_proc_macro` until after dependencies have been filtered. It also avoids calling `is_proc_macro` if the new feature resolver is enabled, but `decouple_host_deps` and `ignore_inactive_targets` are disabled (such as with `-Z weak-dep-features`), in which case it doesn't matter if it is a proc-macro or not.
bors [Mon, 2 Nov 2020 14:55:51 +0000 (14:55 +0000)]
Auto merge of #8824 - ehuss:normalize-source-master, r=alexcrichton
Normalize SourceID in `cargo metadata`.
The SourceID in `cargo metadata` can have different values, but they can be equivalent in Cargo. This results in different serialized forms, which prevents comparing the ID strings. In this particular case, `SourceKind::Git(GitReference::Branch("master"))` is equivalent to `SourceKind::Git(GitReference::DefaultBranch)`, but they serialize differently.
The reason these end up differently is because the `SourceId` for a `Package` is created from the `Dependency` declaration. But the `SourceId` in `Cargo.lock` comes from the deserialized file. If you have an explicit `branch = "master"` in the dependency, then versions prior to 1.47 would *not* include `?branch=master` in `Cargo.lock`. However, since 1.47, internally Cargo will use `GitReference::Branch("master")`.
Conversely, if you have a new `Cargo.lock` (with `?branch=master`), and then *remove* the explicit `branch="master"` from `Cargo.toml`, you'll end up with another mismatch in `cargo metadata`.
The solution here is to use the variant from the `Package` when serializing the resolver in `cargo metadata`. I chose this since the `Package` variant is displayed on other JSON messages (like artifact messages), and I think this is the only place that the resolver variants are exposed (other than `Cargo.lock` itself).
I'm not convinced that this was entirely intended, since there is [code to avoid this](https://github.com/rust-lang/cargo/blob/6a38927551df9bbe2dea340bf92d3e53abccf890/src/cargo/core/resolver/encode.rs#L688-L695), and at the time #8522 landed, I did not realize this would change the V2 lock format. However, it's probably too late to try to reverse that, and I don't think there are any other problems other than this `cargo metadata` inconsistency.
bors [Fri, 30 Oct 2020 15:29:57 +0000 (15:29 +0000)]
Auto merge of #8822 - skrap:master, r=ehuss
vendor: correct the path to cargo config
When running `cargo vendor`, users are prompted to add the configuration to their cargo config. Unfortunately, the path named is not correct, as it's lacking the correct suffix.
Jonah Petri [Fri, 30 Oct 2020 01:01:33 +0000 (21:01 -0400)]
vendor: correct the path to cargo config
When running `cargo vendor`, users are prompted to add the configuration to their cargo config. Unfortunately, the path named is not correct, as it's lacking the correct suffix.
bors [Thu, 29 Oct 2020 02:30:19 +0000 (02:30 +0000)]
Auto merge of #8819 - EmbarkStudios:target-root-path, r=ehuss
Make host_root return host.root(), not host.dest()
Also create host_dest function to let other callsites retain their old functionality. Fixes #8817, verified it works on the original problem reported in the `rust-gpu` repo.
I did two things here:
1) Rename `host_root` (which returns `self.host.dest()`) to be `host_dest`. This has three callsites. I did this to make it more clear that it returns dest, not root.
2) For the callsite that's relevant in #8817, I created a "new" `host_root` function (that returns `self.host.root()`). This means that the callsite that this PR is actually fixing doesn't show up in this diff :/ - but I thought it was more clear this way.
(Also copied the example path docs over from `layout.rs` to hopefully avoid this mistake again in the future)
I tried to look into if the other two callsites should actually be calling `host.root()` instead of `dest`, because I imagine the same mistake could have been made again, but it quickly grew out of my understanding (this is my first time in the cargo codebase). Feel free to let me know if they should also call `host.root()` too, and I can update them.
Thanks! (oh gosh I have no idea what I'm doing, I hope this is right)
bors [Wed, 28 Oct 2020 16:41:55 +0000 (16:41 +0000)]
Auto merge of #8808 - weihanglo:fix/8591, r=ehuss
List available packages if providing `--package` with an empty value
May resolves #8591
## How
First we need to take the responsibility of check command line arguments from claps. I've examine all 10 build commands and all of them call [`ArgMatchesExt::compile_options`](https://github.com/rust-lang/cargo/blob/2f115a76e5a1e5eb11cd29e95f972ed107267847/src/cargo/util/command_prelude.rs#L389-L395) directly or indirectly. And `compile_options` [calls `check_optional_opts`](https://github.com/rust-lang/cargo/blob/2f115a76e5a1e5eb11cd29e95f972ed107267847/src/cargo/util/command_prelude.rs#L499-L501) to check if target selection options given an empty value. So we can do the same logic there.
I've also add a error message for an edge case though that one would never trigger at this moment.
bors [Wed, 28 Oct 2020 04:12:37 +0000 (04:12 +0000)]
Auto merge of #8814 - ehuss:warn-feature-syntax, r=alexcrichton
Add a future-compatibility warning on allowed feature name characters.
This adds a restriction on the valid syntax of a feature name. An warning is issued if a feature does not match the new validation, with the intent that it will be an error in the future.
The new restriction is:
* The first character must be a [Unicode XID start character](https://unicode.org/reports/tr31/) (most letters), a digit, or `_`.
* Subsequent characters must be a [Unicode XID continue character](https://unicode.org/reports/tr31/) (a digit, `_`, or most letters), `-`, or `+`.
The changes around passing in `config` to `Summary` can mostly be reverted when this is changed to an error.
I'm a little concerned that we don't have a mechanism to silence the warning. Should we add one?
bors [Tue, 27 Oct 2020 19:58:34 +0000 (19:58 +0000)]
Auto merge of #8799 - ehuss:new-namespaced, r=alexcrichton
New namespaced features implementation.
This is a new implementation for namespaced features (#5565). See the `unstable.md` docs for a description of the new behavior. This is intended to fix several issues with the existing design, and to make it backwards compatible so that it does not require an opt-in flag.
This also includes tangentially-related changes to the new feature resolver. The changes are:
* `crate_name/feat_name` syntax will now always enable the feature `crate_name`, even if it is an inactive optional dependency (such as a dependency for another platform). The intent here is to have a certain amount of consistency whereby "features" are always activated, but individual crates will still not be activated.
* `--all-features` will now enable features for inactive optional dependencies. This is more consistent with `--features foo` enabling the `foo` feature, even when the `foo` dep is not activated.
I'm still very conflicted on how that should work, but I think it is better from a simplicity/consistency perspective. I still think it may be confusing if someone has a `cfg(some_dep)` in their code, and `some_dep` isn't built, it will error. The intent is that `cfg(accessible(some_dep))` will be the preferred method in the future, or using platform `cfg` expression like `cfg(windows)` to match whatever is in Cargo.toml.
## Questions
- For various reasons, I changed the way dependency conflict errors are collected. One slightly negative consequence is that it will raise an error for the first problem it detects (like a "missing feature"). Previously it would collect a list of all missing features and display all of them in the error message. Let me know if I should retain the old behavior. I think it will make the code more complicated and brittle, but it shouldn't be too hard (essentially `Requirements` will need to collect a list of errors, and then `resolve_features` would need to check if the list is non-empty, and then aggregate the errors).
- Should `cargo metadata` show the implicit features in the "features" table? Currently it does not, and I think that is probably best (it mirrors what is in `Cargo.toml`), but I could potentially see an argument to show how cargo sees the implicit features.
Eric Huss [Tue, 20 Oct 2020 00:23:31 +0000 (17:23 -0700)]
Slightly rewrite how conflicting activation errors are processed.
I'm not sure why the original code partitioned the errors in the way
that it did. I think it is better to exhaustively match all the reasons,
so that when new reasons are added, it will be clear that this code
needs to be updated. I also think it simplifies the code a little.
bors [Tue, 20 Oct 2020 19:31:26 +0000 (19:31 +0000)]
Auto merge of #8752 - weihanglo:feat/glob-pattern, r=ehuss
Support glob patterns for package/target selection
Resolves #8582
## What
Commands that supports glob patterns on package/target selection:
- `build`
- `test`
- `bench`
- `doc`
- `check`
- `fix` (run `check` underneath the hood)
- `tree` (no target selection functionalit as same as before)
Commands that supports glob patterns on target selection only:
- `rustdoc` (can only build one package via `-p/--package` option)
- `rustc` (can only build one package via `-p/--package` option)
Command that _does not_ support any glob patterns for package/target selection:
- `run` (you can only run at most one executable)
## How
By using existing [`glob`](https://crates.io/crates/glob) crate to
1. check whether a target filter is a glob pattern, and then
1. compare if the target matches the filter.
Also, I loosed some shell-style restriction in cargo-test-support (by adding simple quote arguments support).
## Breaking Changes
Suppose no.
- No public API introduced.
- All valid glob pattern chars (`*`, `?`, `[`, `]`) characters [are restricted by Cargo](https://github.com/rust-lang/cargo/blob/75615f8e69f748d7ef0df7bc0b064a9b1f5c78b2/src/cargo/util/restricted_names.rs#L70-L82 ) due to not containing in`XID_Continue` character set in [UAX#31](https://docs.rs/unicode-xid/0.2.1/unicode_xid/trait.UnicodeXID.html) and are also restricted
## Performance Regression
Definitely gets some.
However, assumed no one would pass lots of package/target selection with glob patterns, so the extra overhead for ordinary use cases are glob pattern existence checks on each target filter. The current implementation is somewhat naive, so if you have any better algorithm, please help me improve it.
## Documentation
I have done my best effort to write the documentation, but as a non-native English speaker I need helps to polish these sentences. Besides, I am not quite sure should we mention glob pattern in CLI help text, which is a bit lengthy at the moment....
bors [Mon, 19 Oct 2020 17:54:52 +0000 (17:54 +0000)]
Auto merge of #8795 - rust-lang:dependabot/cargo/env_logger-0.8.1, r=alexcrichton
Update env_logger requirement from 0.7.0 to 0.8.1
Updates the requirements on [env_logger](https://github.com/env-logger-rs/env_logger) to permit the latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/env-logger-rs/env_logger/releases">env_logger's releases</a>.</em></p>
<blockquote>
<h2>0.8.1</h2>
<p>Update links in the documentation that were pointing to the old repository location.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/26e821b94f0b0b9fd3536c0ba7095c1b6c7a3ffe"><code>26e821b</code></a> Update repository links and release 0.8.1</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/9ffe00de4ff1429ccd004c42f82034b56a41a957"><code>9ffe00d</code></a> Release version 0.8.0</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/2b33c97117355cdc599aa29fb1a64b8016ee3f68"><code>2b33c97</code></a> Fix rustc & clippy lints</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/b8c3754a1de50ac720657d2f328ea98148e1d80d"><code>b8c3754</code></a> chore(examples): add syslog friendly format (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/174">#174</a>)</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/a5a7ddc34ee82fe043eed8c3f89f5f83058f6a6f"><code>a5a7ddc</code></a> ci(docs): remove ci crate (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/173">#173</a>)</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/3a331e46362bd96c042af9558de3a638c841d448"><code>3a331e4</code></a> chore(readme): fix badge links</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/eeedfa99be9b9619e84154de8592ce24c0f4daf5"><code>eeedfa9</code></a> ci(docs): add manual run trigger (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/171">#171</a>)</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/2793bb5696c7740ced5c82ad27d4a9a7cd093a44"><code>2793bb5</code></a> ci(workflow): add documentation workflow (<a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/170">#170</a>)</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/0ef5cffa29a45c9b0c572f470581d617fc7e50b0"><code>0ef5cff</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/env-logger-rs/env_logger/issues/168">#168</a> from KodrAus/chore/build-fn-cleanup</li>
<li><a href="https://github.com/env-logger-rs/env_logger/commit/b24920eb7afaaa95edca0dd36f50caaca2b95ccf"><code>b24920e</code></a> deprecate env_logger::from_env and clean up examples</li>
<li>Additional commits viewable in <a href="https://github.com/env-logger-rs/env_logger/compare/v0.7.0...v0.8.1">compare view</a></li>
</ul>
</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` 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)
Updates the requirements on [env_logger](https://github.com/env-logger-rs/env_logger) to permit the latest version.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.7.0...v0.8.1)
bors [Sat, 17 Oct 2020 20:19:30 +0000 (20:19 +0000)]
Auto merge of #8793 - ehuss:fix-man-links, r=alexcrichton
Fix man page links inside `option` blocks.
Links inside `{{#option}}` blocks were erroneously being converted to absolute links when emitting the `md` format because they were being rendered as HTML. This wasn't intended and caused some links to fail. It also causes problems for offline viewing (since the links are to an external website).
Also, man-page links like `{{man "cargo-foo" 1}}` were linking to `.md` extension, but since they are processed as markdown into HTML, mdbook's `.md` to `.html` translation wasn't getting applied. The simple fix is to always use `.html`.
This revealed a legitimate error in a link in `cargo-publish.md` which had the wrong anchor link (`#registrydefault`).
This also revealed that the CI check that the man pages are in sync wasn't working quite right (it was not checking the `etc/man` directory for changes).
bors [Wed, 14 Oct 2020 16:33:46 +0000 (16:33 +0000)]
Auto merge of #8777 - ehuss:fix-doc-itarget, r=alexcrichton
Fix panic in `cargo doc` with -Zfeatures=itarget
There are some situations where `cargo doc -Zfeatures=itarget` can panic where an optional shared dependency is part of an inactive target. The issue is that the filtering logic in `compute_deps` should have been shared with `compute_deps_doc`. I moved the common filtering into `State` to try to share the code.
bors [Tue, 13 Oct 2020 16:48:32 +0000 (16:48 +0000)]
Auto merge of #8767 - MonliH:master, r=ehuss
Document RUSTFMT environment variable
This PR documents the `RUSTFMT` enviorment variable, as specified in [rust-lang/rustfmt/4426](https://github.com/rust-lang/rustfmt/issues/4426) and [rust-lang/rustfmt/4419](https://github.com/rust-lang/rustfmt/pull/4419).
bors [Mon, 12 Oct 2020 21:26:33 +0000 (21:26 +0000)]
Auto merge of #8769 - rust-lang:dependabot/cargo/crossbeam-utils-0.8, r=alexcrichton
Update crossbeam-utils requirement from 0.7 to 0.8
Updates the requirements on [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) to permit the latest version.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md">crossbeam-utils's changelog</a>.</em></p>
<blockquote>
<h1>Version 0.8.0</h1>
<ul>
<li>Bump the minimum supported Rust version to 1.36.</li>
<li>Bump <code>crossbeam-channel</code> to <code>0.5</code>.</li>
<li>Bump <code>crossbeam-deque</code> to <code>0.8</code>.</li>
<li>Bump <code>crossbeam-epoch</code> to <code>0.9</code>.</li>
<li>Bump <code>crossbeam-queue</code> to <code>0.3</code>.</li>
<li>Bump <code>crossbeam-utils</code> to <code>0.8</code>.</li>
</ul>
<h1>Version 0.7.3</h1>
<ul>
<li>Fix breakage with nightly feature due to <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/65214">rust-lang/rust#65214</a>.</li>
<li>Bump <code>crossbeam-channel</code> to <code>0.4</code>.</li>
<li>Bump <code>crossbeam-epoch</code> to <code>0.8</code>.</li>
<li>Bump <code>crossbeam-queue</code> to <code>0.2</code>.</li>
<li>Bump <code>crossbeam-utils</code> to <code>0.7</code>.</li>
</ul>
<h1>Version 0.7.2</h1>
<ul>
<li>Bump <code>crossbeam-channel</code> to <code>0.3.9</code>.</li>
<li>Bump <code>crossbeam-epoch</code> to <code>0.7.2</code>.</li>
<li>Bump <code>crossbeam-utils</code> to <code>0.6.6</code>.</li>
</ul>
<h1>Version 0.7.1</h1>
<ul>
<li>Bump <code>crossbeam-utils</code> to <code>0.6.5</code>.</li>
</ul>
<h1>Version 0.7.0</h1>
<ul>
<li>Remove <code>ArcCell</code>, <code>MsQueue</code>, and <code>TreiberStack</code>.</li>
<li>Change the interface of <code>ShardedLock</code> to match <code>RwLock</code>.</li>
<li>Add <code>SegQueue::len()</code>.</li>
<li>Rename <code>SegQueue::try_pop()</code> to <code>SegQueue::pop()</code>.</li>
<li>Change the return type of <code>SegQueue::pop()</code> to <code>Result</code>.</li>
<li>Introduce <code>ArrayQueue</code>.</li>
<li>Update dependencies.</li>
</ul>
<h1>Version 0.6.0</h1>
<ul>
<li>Update dependencies.</li>
</ul>
<h1>Version 0.5.0</h1>
<ul>
<li>Update <code>crossbeam-channel</code> to 0.3.</li>
<li>Update <code>crossbeam-utils</code> to 0.6.</li>
<li>Add <code>AtomicCell</code>, <code>SharedLock</code>, and <code>WaitGroup</code>.</li>
</ul>
<h1>Version 0.4.1</h1>
<ul>
<li>Fix a double-free bug in <code>MsQueue</code> and <code>SegQueue</code>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/d9dfc9e1ffabcb3c01addad14878f16c2795c371"><code>d9dfc9e</code></a> Merge <a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/581">#581</a></li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/2a3d84b8dbaa9554c6705d5318fab76005ac2a44"><code>2a3d84b</code></a> Prepare for the next release</li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/5ea6e705eadefe4cb454a14c723ffe77b15cd89a"><code>5ea6e70</code></a> Merge <a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/580">#580</a></li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/b363b3dcd72e9caee55f4daafd47f9385984e20a"><code>b363b3d</code></a> Fix UB in destroy_array test</li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/e08b21cc086fc42af0e9927a68bc3120bee87af5"><code>e08b21c</code></a> Merge <a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/577">#577</a></li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/6217abf4a97b85c22b8dbae247503779af182741"><code>6217abf</code></a> Ignore clippy::match_like_matches_macro lint</li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/9cbfae7380c902dd29cf83c812cf1d721f970c96"><code>9cbfae7</code></a> Update cfg-if to 1</li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/24447495c9e3f0cf2d98606263273e2f9b427d9b"><code>2444749</code></a> Merge <a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/574">#574</a></li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/619f7db2dfae7bd683d6ebb7e9aeb062409c54ed"><code>619f7db</code></a> Fixed a few typos</li>
<li><a href="https://github.com/crossbeam-rs/crossbeam/commit/7cc83772635bab80b28daadfd0a3d911554884be"><code>7cc8377</code></a> Better plot.py with Python 3 & remove hard code (<a href="https://github-redirect.dependabot.com/crossbeam-rs/crossbeam/issues/569">#569</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.7.0...crossbeam-utils-0.8.0">compare view</a></li>
</ul>
</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` 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)
Update crossbeam-utils requirement from 0.7 to 0.8
Updates the requirements on [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) to permit the latest version.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.7.0...crossbeam-utils-0.8.0)
bors [Sat, 10 Oct 2020 20:39:52 +0000 (20:39 +0000)]
Auto merge of #8766 - weihanglo:cmd/tree-all-targets, r=ehuss
cargo-tree: mention special target `all` in CLI help text
Fixes #8567
Actually, `cargo help tree` has already got a [description about `--target=all`](https://github.com/rust-lang/cargo/blob/3045228ee139f970ccc892aa5c34c0f3cb70ee06/src/doc/man/cargo-tree.md#tree-options) in tree options:
```console
$ cargo help tree
...
OPTIONS
Tree Options
...
--target triple
Filter dependencies matching the given target-triple. The default is the host platform. Use the value all to include all targets.
...