]> git.proxmox.com Git - cargo.git/log
cargo.git
4 years agoAccept `rustc-link-arg-cdylib` in addition to `rustc-cdylib-link-arg`.
Markus Reiter [Wed, 22 Jul 2020 00:02:59 +0000 (02:02 +0200)]
Accept `rustc-link-arg-cdylib` in addition to `rustc-cdylib-link-arg`.

4 years agoRename `rustc-bin-link-arg` to `rustc-link-arg-bins`.
Markus Reiter [Wed, 22 Jul 2020 00:02:37 +0000 (02:02 +0200)]
Rename `rustc-bin-link-arg` to `rustc-link-arg-bins`.

4 years agoFix test on Windows.
Markus Reiter [Thu, 2 Jul 2020 11:48:30 +0000 (13:48 +0200)]
Fix test on Windows.

4 years agoRemove unneeded verbose flag.
Markus Reiter [Thu, 2 Jul 2020 11:21:57 +0000 (13:21 +0200)]
Remove unneeded verbose flag.

4 years agoRename tests for `-Zextra-link-arg`.
Markus Reiter [Thu, 2 Jul 2020 10:58:10 +0000 (12:58 +0200)]
Rename tests for `-Zextra-link-arg`.

4 years agoAdd config warning for `-Zextra-link-arg`.
Markus Reiter [Thu, 2 Jul 2020 10:51:01 +0000 (12:51 +0200)]
Add config warning for `-Zextra-link-arg`.

4 years agoMove `-Zextra-link-arg` documentation into `unstable.md`.
Markus Reiter [Thu, 2 Jul 2020 09:55:44 +0000 (11:55 +0200)]
Move `-Zextra-link-arg` documentation into `unstable.md`.

4 years agoAdd tests and warnings for `-Zextra-link-arg`.
Markus Reiter [Thu, 2 Jul 2020 09:45:41 +0000 (11:45 +0200)]
Add tests and warnings for `-Zextra-link-arg`.

4 years agoFix compilation error.
Markus Reiter [Thu, 2 Jul 2020 08:17:06 +0000 (10:17 +0200)]
Fix compilation error.

4 years agoAdd -Z extra-link-arg
Nathaniel McCallum [Fri, 24 Jan 2020 22:53:51 +0000 (17:53 -0500)]
Add -Z extra-link-arg

This hides the new rustc-bin-link-arg and rustc-link-arg build script
configuration items behind an unstable flag.

4 years agoAdd rustc-bin-link-arg and rustc-link-arg custom build options
Nathaniel McCallum [Fri, 17 Jan 2020 15:50:37 +0000 (10:50 -0500)]
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).

4 years agoAuto merge of #8818 - ehuss:weak-dep-features, r=alexcrichton
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.

4 years agoImplement weak dependency features.
Eric Huss [Sun, 25 Oct 2020 23:34:03 +0000 (16:34 -0700)]
Implement weak dependency features.

4 years agoChange for_host argument order for functions.
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.

4 years agoAuto merge of #8823 - ehuss:minimal-download, r=alexcrichton
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.

Fixes #8776

4 years agoAuto merge of #8828 - awamwang:patch-1, r=ehuss
bors [Tue, 3 Nov 2020 14:19:16 +0000 (14:19 +0000)]
Auto merge of #8828 - awamwang:patch-1, r=ehuss

fix: remove install command `$`, for copying friendly

4 years agofix: remove install command `$`, for copying friendly
Awam M Wang [Tue, 3 Nov 2020 12:34:16 +0000 (20:34 +0800)]
fix: remove install command `$`, for copying friendly

4 years agoAuto merge of #8826 - Aaron1011:anyhow-bump, r=alexcrichton
bors [Mon, 2 Nov 2020 23:52:08 +0000 (23:52 +0000)]
Auto merge of #8826 - Aaron1011:anyhow-bump, r=alexcrichton

Bump `anyhow` dependency to `1.0.34` in `crates-io` crate

This will keep `crates-io` compiling if https://github.com/rust-lang/rust/issues/33953
is fixed. See https://github.com/dtolnay/anyhow/pull/120

4 years agoBump `anyhow` dependency to `1.0.34` in `crates-io` crate
Aaron Hill [Mon, 2 Nov 2020 23:45:18 +0000 (18:45 -0500)]
Bump `anyhow` dependency to `1.0.34` in `crates-io` crate

This will keep `crates-io` compiling if https://github.com/rust-lang/rust/issues/33953
is fixed. See https://github.com/dtolnay/anyhow/pull/120

4 years agoAuto merge of #8824 - ehuss:normalize-source-master, r=alexcrichton
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.

Fixes #8756

4 years agoNormalize SourceID in `cargo metadata`.
Eric Huss [Sun, 1 Nov 2020 18:48:21 +0000 (10:48 -0800)]
Normalize SourceID in `cargo metadata`.

4 years agoAvoid some extra downloads with new feature resolver.
Eric Huss [Sat, 31 Oct 2020 23:49:22 +0000 (16:49 -0700)]
Avoid some extra downloads with new feature resolver.

4 years agoAuto merge of #8822 - skrap:master, r=ehuss
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.

4 years agovendor: correct the path to cargo config
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.

4 years agoAuto merge of #8819 - EmbarkStudios:target-root-path, r=ehuss
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)

r? `@alexcrichton`

4 years agoFix test path on windows
khyperia [Wed, 28 Oct 2020 19:45:50 +0000 (20:45 +0100)]
Fix test path on windows

4 years agoAdd test for dep within target having right path
khyperia [Wed, 28 Oct 2020 19:22:41 +0000 (20:22 +0100)]
Add test for dep within target having right path

4 years agoMake host_root return host.root(), not host.dest()
khyperia [Wed, 28 Oct 2020 17:10:34 +0000 (18:10 +0100)]
Make host_root return host.root(), not host.dest()

Also create host_dest function to let other callsites retain their old
functionality

4 years agoAuto merge of #8808 - weihanglo:fix/8591, r=ehuss
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.

4 years agoAuto merge of #8814 - ehuss:warn-feature-syntax, r=alexcrichton
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?

4 years agofix: remove unnecessary arg value existence check
Weihang Lo [Wed, 28 Oct 2020 01:40:09 +0000 (09:40 +0800)]
fix: remove unnecessary arg value existence check

4 years agoAdd a future-compatibility warning on allowed feature name characters.
Eric Huss [Sat, 24 Oct 2020 18:41:13 +0000 (11:41 -0700)]
Add a future-compatibility warning on allowed feature name characters.

4 years agoAuto merge of #8799 - ehuss:new-namespaced, r=alexcrichton
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.

Closes #8044
Closes #8046
Closes #8047
Closes #8316

## 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.

4 years agorustfmt
Weihang Lo [Tue, 27 Oct 2020 18:57:06 +0000 (02:57 +0800)]
rustfmt

4 years agotest: check cargo uninstall package opt with empty value
Weihang Lo [Tue, 27 Oct 2020 18:44:23 +0000 (02:44 +0800)]
test: check cargo uninstall package opt with empty value

4 years agofeat: check cargo uninstall package opt with empty value
Weihang Lo [Tue, 27 Oct 2020 18:44:59 +0000 (02:44 +0800)]
feat: check cargo uninstall package opt with empty value

4 years agotest: list availables for clean,tree,update
Weihang Lo [Tue, 27 Oct 2020 17:33:34 +0000 (01:33 +0800)]
test: list availables for clean,tree,update

4 years agofeat: list avaiables for clean,tree,update
Weihang Lo [Tue, 27 Oct 2020 18:43:25 +0000 (02:43 +0800)]
feat: list avaiables for clean,tree,update

4 years agotest: list availables for rustc,rustdoc,run,pkgid
Weihang Lo [Tue, 27 Oct 2020 16:26:19 +0000 (00:26 +0800)]
test: list availables for rustc,rustdoc,run,pkgid

4 years agofeat: list availables for rustc,rustdoc,run,pkgid
Weihang Lo [Tue, 27 Oct 2020 16:30:26 +0000 (00:30 +0800)]
feat: list availables for rustc,rustdoc,run,pkgid

4 years agofix: more information when -p value is absent
Weihang Lo [Tue, 27 Oct 2020 14:03:54 +0000 (22:03 +0800)]
fix: more information when -p value is absent

4 years agoAuto merge of #8810 - sean-hut:remove-redundant-for-example, r=ehuss
bors [Tue, 27 Oct 2020 00:09:14 +0000 (00:09 +0000)]
Auto merge of #8810 - sean-hut:remove-redundant-for-example, r=ehuss

Remove redundant "For example, "

4 years agoAuto merge of #8809 - roblabla:patch-1, r=ehuss
bors [Mon, 26 Oct 2020 23:41:15 +0000 (23:41 +0000)]
Auto merge of #8809 - roblabla:patch-1, r=ehuss

Document platform-specific build-dependencies

It turns out that `target.'cfg()'.build-dependencies` are a currently stable but undocumented feature. This PR mentions it in the cargo reference.

4 years agoRemove redundant "For example, "
Sean Hutchings [Mon, 26 Oct 2020 23:07:41 +0000 (19:07 -0400)]
Remove redundant "For example, "

Signed-off-by: Sean Hutchings <seanhut@yandex.com>
4 years agoDocument platform-specific build-dependencies
Robin Lambertz [Mon, 26 Oct 2020 21:11:43 +0000 (22:11 +0100)]
Document platform-specific build-dependencies

It turns out that `target.'cfg()'.build-dependencies` are a currently stable but undocumented feature.

4 years agoAuto merge of #8807 - ehuss:remove-unused-package-features, r=alexcrichton
bors [Sun, 25 Oct 2020 21:06:15 +0000 (21:06 +0000)]
Auto merge of #8807 - ehuss:remove-unused-package-features, r=alexcrichton

Remove some unused code.

This was accidentally left behind during some earlier reworks.

4 years agoRename crate: to dep:
Eric Huss [Sun, 25 Oct 2020 19:51:27 +0000 (12:51 -0700)]
Rename crate: to dep:

4 years agoRemove some unused code.
Eric Huss [Sun, 25 Oct 2020 19:26:31 +0000 (12:26 -0700)]
Remove some unused code.

4 years agotest: suggest available packages
Weihang Lo [Sun, 25 Oct 2020 18:46:26 +0000 (02:46 +0800)]
test: suggest available packages

4 years agofix: check `--package`'s value manually
Weihang Lo [Sun, 25 Oct 2020 18:41:28 +0000 (02:41 +0800)]
fix: check `--package`'s value manually

4 years agofeat(util): print_available_packages
Weihang Lo [Sun, 25 Oct 2020 18:40:28 +0000 (02:40 +0800)]
feat(util): print_available_packages

4 years agoRename "explicit" to "crate_prefix".
Eric Huss [Fri, 23 Oct 2020 23:32:15 +0000 (16:32 -0700)]
Rename "explicit" to "crate_prefix".

4 years agoMinor cleanup.
Eric Huss [Fri, 23 Oct 2020 23:12:10 +0000 (16:12 -0700)]
Minor cleanup.

4 years agoSome minor cleanup.
Eric Huss [Thu, 22 Oct 2020 16:54:48 +0000 (09:54 -0700)]
Some minor cleanup.

4 years agoExpose implicit features in `cargo metadata`.
Eric Huss [Thu, 22 Oct 2020 16:48:45 +0000 (09:48 -0700)]
Expose implicit features in `cargo metadata`.

4 years agoNew namespaced features implementation.
Eric Huss [Tue, 20 Oct 2020 18:15:48 +0000 (11:15 -0700)]
New namespaced features implementation.

4 years agoSlightly rewrite how conflicting activation errors are processed.
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.

4 years agoRename features() to unstable_features().
Eric Huss [Mon, 19 Oct 2020 23:54:45 +0000 (16:54 -0700)]
Rename features() to unstable_features().

To avoid confusion with the...other thing called "features".

4 years agoMove namespaced features tests to a separate file.
Eric Huss [Mon, 19 Oct 2020 23:51:02 +0000 (16:51 -0700)]
Move namespaced features tests to a separate file.

4 years agoAuto merge of #8804 - ehuss:clippy-fixes, r=alexcrichton
bors [Fri, 23 Oct 2020 16:58:04 +0000 (16:58 +0000)]
Auto merge of #8804 - ehuss:clippy-fixes, r=alexcrichton

Some minor clippy fixes.

4 years agoSome minor clippy fixes.
Eric Huss [Thu, 22 Oct 2020 17:40:16 +0000 (10:40 -0700)]
Some minor clippy fixes.

4 years agoAuto merge of #8803 - ehuss:toml-links, r=alexcrichton
bors [Wed, 21 Oct 2020 19:39:06 +0000 (19:39 +0000)]
Auto merge of #8803 - ehuss:toml-links, r=alexcrichton

Update TOML website links.

Update the links to the new, fancy TOML website.  Also added a few more links.

Closes #8800

4 years agoUpdate TOML website links.
Eric Huss [Wed, 21 Oct 2020 19:10:39 +0000 (12:10 -0700)]
Update TOML website links.

4 years agoAuto merge of #8752 - weihanglo:feat/glob-pattern, r=ehuss
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....

4 years agoAuto merge of #8795 - rust-lang:dependabot/cargo/env_logger-0.8.1, r=alexcrichton
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 &amp; 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`.

[//]: # (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)

</details>

4 years agoUpdate env_logger requirement from 0.7.0 to 0.8.1
dependabot-preview[bot] [Mon, 19 Oct 2020 05:17:38 +0000 (05:17 +0000)]
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.
- [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)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years agoMerge branch 'master' into feat/glob-pattern
Weihang Lo [Sun, 18 Oct 2020 00:48:30 +0000 (08:48 +0800)]
Merge branch 'master' into feat/glob-pattern

4 years agoAuto merge of #8793 - ehuss:fix-man-links, r=alexcrichton
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).

4 years agoFix man page links inside `option` blocks.
Eric Huss [Sat, 17 Oct 2020 18:49:15 +0000 (11:49 -0700)]
Fix man page links inside `option` blocks.

4 years agoFix man CI validation.
Eric Huss [Sat, 17 Oct 2020 18:47:18 +0000 (11:47 -0700)]
Fix man CI validation.

The check that generated files are in sync wasn't correctly checking
the etc/man directory.

4 years agoAuto merge of #8784 - jyn514:broken-docs, r=ehuss
bors [Thu, 15 Oct 2020 14:41:21 +0000 (14:41 +0000)]
Auto merge of #8784 - jyn514:broken-docs, r=ehuss

Fix broken link in reference docs

Found in https://github.com/rust-lang/rust/pull/77971.

4 years agoFix broken link in reference docs
Joshua Nelson [Thu, 15 Oct 2020 14:06:22 +0000 (10:06 -0400)]
Fix broken link in reference docs

4 years agoAuto merge of #8758 - ebroto:cargo_primary_package, r=ehuss
bors [Wed, 14 Oct 2020 23:07:45 +0000 (23:07 +0000)]
Auto merge of #8758 - ebroto:cargo_primary_package, r=ehuss

Reinstate CARGO_PRIMARY_PACKAGE (take 2)

As discussed in [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/RUSTC_WORKSPACE_WRAPPER/near/212461098)

r? `@ehuss`

4 years agoRework tests to avoid using -vv
Eduardo Broto [Wed, 14 Oct 2020 22:44:04 +0000 (00:44 +0200)]
Rework tests to avoid using -vv

Environment variables are represented differently in differents OSes in
the output.

Add tests checking if the variable is set instead.

4 years agoAdd tests for CARGO_PRIMARY_PACKAGE (workspaces)
Eduardo Broto [Mon, 12 Oct 2020 14:01:49 +0000 (16:01 +0200)]
Add tests for CARGO_PRIMARY_PACKAGE (workspaces)

4 years agoAdd test for CARGO_PRIMARY_PACKAGE
Eduardo Broto [Mon, 12 Oct 2020 13:26:40 +0000 (15:26 +0200)]
Add test for CARGO_PRIMARY_PACKAGE

4 years agoAdd documentation for CARGO_PRIMARY_PACKAGE
Eduardo Broto [Mon, 12 Oct 2020 13:25:33 +0000 (15:25 +0200)]
Add documentation for CARGO_PRIMARY_PACKAGE

4 years agoReinstate CARGO_PRIMARY_PACKAGE
Eduardo Broto [Tue, 6 Oct 2020 21:06:44 +0000 (23:06 +0200)]
Reinstate CARGO_PRIMARY_PACKAGE

4 years agoAuto merge of #8773 - pickfire:patch-1, r=ehuss
bors [Wed, 14 Oct 2020 16:57:12 +0000 (16:57 +0000)]
Auto merge of #8773 - pickfire:patch-1, r=ehuss

Add actionable help message for --features

Fix #8770

4 years agoAuto merge of #8777 - ehuss:fix-doc-itarget, r=alexcrichton
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.

Fixes #8774

4 years agoFix help message in features.rs test
Ivan Tham [Wed, 14 Oct 2020 02:21:37 +0000 (10:21 +0800)]
Fix help message in features.rs test

4 years agoAuto merge of #8778 - ehuss:update-git2, r=alexcrichton
bors [Wed, 14 Oct 2020 02:04:31 +0000 (02:04 +0000)]
Auto merge of #8778 - ehuss:update-git2, r=alexcrichton

Update git2.

Closes #8517
Closes #8588
Closes #8352
Closes #4777
Closes #8746

I only added a test for one of these. I can add for the others if you want.

4 years agoAdd help to substitute macros
Ivan Tham [Wed, 14 Oct 2020 02:01:12 +0000 (10:01 +0800)]
Add help to substitute macros

4 years agoSuggest manifest for --features help
Ivan Tham [Wed, 14 Oct 2020 02:00:02 +0000 (10:00 +0800)]
Suggest manifest for --features help

Suggested by ehuss

4 years agoUpdate git2.
Eric Huss [Wed, 14 Oct 2020 01:13:25 +0000 (18:13 -0700)]
Update git2.

4 years agoFix panic in `cargo doc` with -Zfeatures=itarget
Eric Huss [Tue, 13 Oct 2020 22:39:46 +0000 (15:39 -0700)]
Fix panic in `cargo doc` with -Zfeatures=itarget

4 years agoFix test for package_features for help
Ivan Tham [Tue, 13 Oct 2020 17:06:16 +0000 (01:06 +0800)]
Fix test for package_features for help

4 years agoAuto merge of #8767 - MonliH:master, r=ehuss
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).

4 years agoAdd actionable help message for --features
Ivan Tham [Tue, 13 Oct 2020 16:45:31 +0000 (00:45 +0800)]
Add actionable help message for --features

Fix #8770

4 years agoAuto merge of #8769 - rust-lang:dependabot/cargo/crossbeam-utils-0.8, r=alexcrichton
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 &amp; 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`.

[//]: # (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)

</details>

4 years agoAuto merge of #8772 - ehuss:update-toml, r=alexcrichton
bors [Mon, 12 Oct 2020 18:49:55 +0000 (18:49 +0000)]
Auto merge of #8772 - ehuss:update-toml, r=alexcrichton

Update toml dependency

4 years agoUpdate toml dependency
Eric Huss [Mon, 12 Oct 2020 18:22:45 +0000 (11:22 -0700)]
Update toml dependency

4 years agoUpdate crossbeam-utils requirement from 0.7 to 0.8
dependabot-preview[bot] [Mon, 12 Oct 2020 05:17:52 +0000 (05:17 +0000)]
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)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
4 years agoAuto merge of #8765 - l4l:proc-macro-suffix, r=alexcrichton
bors [Sun, 11 Oct 2020 17:20:05 +0000 (17:20 +0000)]
Auto merge of #8765 - l4l:proc-macro-suffix, r=alexcrichton

Mark proc-macro crates

Resolves #8107

4 years agoRevise docs
Jonathan Li [Sun, 11 Oct 2020 17:14:31 +0000 (13:14 -0400)]
Revise docs

4 years agoAuto merge of #8766 - weihanglo:cmd/tree-all-targets, r=ehuss
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.
...

4 years agoDocument RUSTFMT env var behaviour
Jonathan Li [Sat, 10 Oct 2020 15:58:15 +0000 (11:58 -0400)]
Document RUSTFMT env var behaviour

4 years agodoc(tree): mention special target `all` in CLI help
Weihang Lo [Sat, 10 Oct 2020 08:43:32 +0000 (16:43 +0800)]
doc(tree): mention special target `all` in CLI help

Fixes #8567

4 years agoUpdate tree tests
Kitsu [Sat, 10 Oct 2020 08:38:52 +0000 (11:38 +0300)]
Update tree tests

4 years agoMark proc-macro crates
Kitsu [Sat, 10 Oct 2020 07:46:09 +0000 (10:46 +0300)]
Mark proc-macro crates