16135 Commits

Author SHA1 Message Date
Weihang Lo
297b827fa3
test(install): use TCP connection instead of thread sleep
This is more robust than `thread::sleep`, ensuring

* foo is running before the first `cargo uninstall` call
* foo is stopped before the second `cargo uninstall` call
2023-12-02 01:54:20 -05:00
bors
bbd2dcdb09 Auto merge of #13083 - rust-lang:renovate/compatible, r=epage
chore(deps): update compatible

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.4.7` -> `4.4.10` |
| [core-foundation](https://togithub.com/servo/core-foundation-rs) | workspace.dependencies | patch | `0.9.3` -> `0.9.4` |
| [ignore](https://togithub.com/BurntSushi/ripgrep/tree/master/crates/ignore) ([source](https://togithub.com/BurntSushi/ripgrep)) | workspace.dependencies | patch | `0.4.20` -> `0.4.21` |
| [libc](https://togithub.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.149` -> `0.2.150` |
| [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://togithub.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.3.1` -> `1.4.0` |
| [regex](https://togithub.com/rust-lang/regex) | workspace.dependencies | minor | `1.9.3` -> `1.10.2` |
| [serde](https://serde.rs) ([source](https://togithub.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.190` -> `1.0.193` |
| [similar](https://togithub.com/mitsuhiko/similar) | dev-dependencies | minor | `2.2.1` -> `2.3.0` |
| [syn](https://togithub.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.38` -> `2.0.39` |
| [toml](https://togithub.com/toml-rs/toml) | workspace.dependencies | patch | `0.8.6` -> `0.8.8` |
| [tracing-subscriber](https://tokio.rs) ([source](https://togithub.com/tokio-rs/tracing)) | workspace.dependencies | patch | `0.3.17` -> `0.3.18` |
| [url](https://togithub.com/servo/rust-url) | workspace.dependencies | minor | `2.4.1` -> `2.5.0` |

---

### Release Notes

<details>
<summary>clap-rs/clap (clap)</summary>

### [`v4.4.10`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4410---2023-11-28)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.9...v4.4.10)

##### Documentation

-   Link out to changelog
-   Cross link derive's attribute reference to derive tutorial

### [`v4.4.9`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#449---2023-11-27)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.8...v4.4.9)

##### Fixes

-   *(help)* Show correct `Command::about` under flattened headings
-   *(help)* Respect `hide` when flattening subcommands

### [`v4.4.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#448---2023-11-10)

[Compare Source](https://togithub.com/clap-rs/clap/compare/v4.4.7...v4.4.8)

##### Features

-   Add `Command::flatten_help` to allow `git stash -h` like help for subcommands

</details>

<details>
<summary>servo/core-foundation-rs (core-foundation)</summary>

### [`v0.9.4`](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-v0.9.3...core-foundation-v0.9.4)

[Compare Source](https://togithub.com/servo/core-foundation-rs/compare/core-foundation-v0.9.3...core-foundation-v0.9.4)

</details>

<details>
<summary>rust-lang/libc (libc)</summary>

### [`v0.2.150`](https://togithub.com/rust-lang/libc/releases/tag/0.2.150)

[Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.149...0.2.150)

#### What's Changed

-   feat: closefrom() and close_range() for FreeBSD by [`@&#8203;SteveLauC](https://togithub.com/SteveLauC)` in [https://github.com/rust-lang/libc/pull/3374](https://togithub.com/rust-lang/libc/pull/3374)
-   adding apple ifreq by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3375](https://togithub.com/rust-lang/libc/pull/3375)
-   Add pthread_once by [`@&#8203;0xcaff](https://togithub.com/0xcaff)` in [https://github.com/rust-lang/libc/pull/3376](https://togithub.com/rust-lang/libc/pull/3376)
-   netbsd: Add SO_NOSIGPIPE by [`@&#8203;taiki-e](https://togithub.com/taiki-e)` in [https://github.com/rust-lang/libc/pull/3377](https://togithub.com/rust-lang/libc/pull/3377)
-   Say goodbye to GH Pages in favor of docs.rs by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3378](https://togithub.com/rust-lang/libc/pull/3378)
-   bugfix for teeos use Option by [`@&#8203;Sword-Destiny](https://togithub.com/Sword-Destiny)` in [https://github.com/rust-lang/libc/pull/3379](https://togithub.com/rust-lang/libc/pull/3379)
-   openbsd/netbsd sharing execvpe definition by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3382](https://togithub.com/rust-lang/libc/pull/3382)
-   ifreq for apple follow-up fix case when in non libc_union case by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3385](https://togithub.com/rust-lang/libc/pull/3385)
-   NetBSD's mod.rs: fix cpuid_t definition. by [`@&#8203;he32](https://togithub.com/he32)` in [https://github.com/rust-lang/libc/pull/3386](https://togithub.com/rust-lang/libc/pull/3386)
-   ifconf addition to apple. fixing freebsd's implementation while at it. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3388](https://togithub.com/rust-lang/libc/pull/3388)
-   adding exect/execvP for FreeBSD/DragonflyBSD by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3381](https://togithub.com/rust-lang/libc/pull/3381)
-   adding execvP for apple by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3383](https://togithub.com/rust-lang/libc/pull/3383)
-   adding ifreq struct for openbsd by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3384](https://togithub.com/rust-lang/libc/pull/3384)
-   Add `MCL_ONFAULT` constants by [`@&#8203;newpavlov](https://togithub.com/newpavlov)` in [https://github.com/rust-lang/libc/pull/3380](https://togithub.com/rust-lang/libc/pull/3380)
-   Add time namespace constant by [`@&#8203;cd-work](https://togithub.com/cd-work)` in [https://github.com/rust-lang/libc/pull/3352](https://togithub.com/rust-lang/libc/pull/3352)
-   adding few more CLONE_\* constant for Linux/Android. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3034](https://togithub.com/rust-lang/libc/pull/3034)
-   android add handful lock free stdio calls by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3290](https://togithub.com/rust-lang/libc/pull/3290)
-   hurd: Fix msghdr's msg_iov field type by [`@&#8203;sthibaul](https://togithub.com/sthibaul)` in [https://github.com/rust-lang/libc/pull/3389](https://togithub.com/rust-lang/libc/pull/3389)
-   Adding missing macros from linux/if_tun.h by [`@&#8203;BrandonMFong](https://togithub.com/BrandonMFong)` in [https://github.com/rust-lang/libc/pull/3320](https://togithub.com/rust-lang/libc/pull/3320)
-   vxworks: Add mman.h consts and shm functions by [`@&#8203;jdygert-spok](https://togithub.com/jdygert-spok)` in [https://github.com/rust-lang/libc/pull/3406](https://togithub.com/rust-lang/libc/pull/3406)
-   Reenable FreeBSD 14 CI, and update definitions to match 14.0-RC1. by [`@&#8203;asomers](https://togithub.com/asomers)` in [https://github.com/rust-lang/libc/pull/3355](https://togithub.com/rust-lang/libc/pull/3355)
-   Use new check-cfg syntax in newer nightly by [`@&#8203;Urgau](https://togithub.com/Urgau)` in [https://github.com/rust-lang/libc/pull/3410](https://togithub.com/rust-lang/libc/pull/3410)
-   musl fixes and musl+riscv32 fixes by [`@&#8203;akiernan](https://togithub.com/akiernan)` in [https://github.com/rust-lang/libc/pull/3302](https://togithub.com/rust-lang/libc/pull/3302)
-   Add various constants from OpenBSD's sys/exec_elf.h. by [`@&#8203;ltratt](https://togithub.com/ltratt)` in [https://github.com/rust-lang/libc/pull/3409](https://togithub.com/rust-lang/libc/pull/3409)
-   riscv64/musl: Add landlock syscalls by [`@&#8203;marv](https://togithub.com/marv)` in [https://github.com/rust-lang/libc/pull/3398](https://togithub.com/rust-lang/libc/pull/3398)
-   Add stat64at function declaration to AIX by [`@&#8203;ecnelises](https://togithub.com/ecnelises)` in [https://github.com/rust-lang/libc/pull/3324](https://togithub.com/rust-lang/libc/pull/3324)
-   adding getmntinfo/getmntvinfo for DragonFlyBSD. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3394](https://togithub.com/rust-lang/libc/pull/3394)
-   adding MOVE_MOUNT\* constants for linux to use with SYS_move_mount by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3391](https://togithub.com/rust-lang/libc/pull/3391)
-   freebsd adding PROT_MAX|PROT_MAX_EXTRACT mmap flags by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3399](https://togithub.com/rust-lang/libc/pull/3399)
-   linux/android adding few if_alg.h constants. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3404](https://togithub.com/rust-lang/libc/pull/3404)
-   Setup Dependabot for GitHub Actions by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3411](https://togithub.com/rust-lang/libc/pull/3411)
-   For NetBSD: add entry for NetBSD/riscv64. by [`@&#8203;he32](https://togithub.com/he32)` in [https://github.com/rust-lang/libc/pull/3291](https://togithub.com/rust-lang/libc/pull/3291)
-   adding more recent pthread_get/setname_np calls to freebsd/dragonflybsd by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3412](https://togithub.com/rust-lang/libc/pull/3412)
-   NetBSD/mipsel: add support. by [`@&#8203;he32](https://togithub.com/he32)` in [https://github.com/rust-lang/libc/pull/3416](https://togithub.com/rust-lang/libc/pull/3416)
-   feat: add new constants from fanotify linux api by [`@&#8203;ad0](https://togithub.com/ad0)` in [https://github.com/rust-lang/libc/pull/3408](https://togithub.com/rust-lang/libc/pull/3408)
-   linux: add PTRACE_GETSIGMASK and PTRACE_SETSIGMASK by [`@&#8203;mbyzhang](https://togithub.com/mbyzhang)` in [https://github.com/rust-lang/libc/pull/3163](https://togithub.com/rust-lang/libc/pull/3163)
-   Add a few declarations for Apple systems by [`@&#8203;vincentisambart](https://togithub.com/vincentisambart)` in [https://github.com/rust-lang/libc/pull/3328](https://togithub.com/rust-lang/libc/pull/3328)
-   feat: Added ifconf struct by [`@&#8203;Brijeshkrishna](https://togithub.com/Brijeshkrishna)` in [https://github.com/rust-lang/libc/pull/3393](https://togithub.com/rust-lang/libc/pull/3393)
-   Upgrade Docker images to Ubuntu 23.10 by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3418](https://togithub.com/rust-lang/libc/pull/3418)
-   redox: Add remaining `grp.h` functions by [`@&#8203;ids1024](https://togithub.com/ids1024)` in [https://github.com/rust-lang/libc/pull/3421](https://togithub.com/rust-lang/libc/pull/3421)
-   netbsd/openbsd adding more accessors to siginfo_t. by [`@&#8203;devnexen](https://togithub.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3400](https://togithub.com/rust-lang/libc/pull/3400)
-   Prepare release for v0.2.150 by [`@&#8203;JohnTitor](https://togithub.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3424](https://togithub.com/rust-lang/libc/pull/3424)

#### New Contributors

-   [`@&#8203;0xcaff](https://togithub.com/0xcaff)` made their first contribution in [https://github.com/rust-lang/libc/pull/3376](https://togithub.com/rust-lang/libc/pull/3376)
-   [`@&#8203;he32](https://togithub.com/he32)` made their first contribution in [https://github.com/rust-lang/libc/pull/3386](https://togithub.com/rust-lang/libc/pull/3386)
-   [`@&#8203;sthibaul](https://togithub.com/sthibaul)` made their first contribution in [https://github.com/rust-lang/libc/pull/3389](https://togithub.com/rust-lang/libc/pull/3389)
-   [`@&#8203;BrandonMFong](https://togithub.com/BrandonMFong)` made their first contribution in [https://github.com/rust-lang/libc/pull/3320](https://togithub.com/rust-lang/libc/pull/3320)
-   [`@&#8203;jdygert-spok](https://togithub.com/jdygert-spok)` made their first contribution in [https://github.com/rust-lang/libc/pull/3406](https://togithub.com/rust-lang/libc/pull/3406)
-   [`@&#8203;Urgau](https://togithub.com/Urgau)` made their first contribution in [https://github.com/rust-lang/libc/pull/3410](https://togithub.com/rust-lang/libc/pull/3410)
-   [`@&#8203;akiernan](https://togithub.com/akiernan)` made their first contribution in [https://github.com/rust-lang/libc/pull/3302](https://togithub.com/rust-lang/libc/pull/3302)
-   [`@&#8203;marv](https://togithub.com/marv)` made their first contribution in [https://github.com/rust-lang/libc/pull/3398](https://togithub.com/rust-lang/libc/pull/3398)
-   [`@&#8203;ad0](https://togithub.com/ad0)` made their first contribution in [https://github.com/rust-lang/libc/pull/3408](https://togithub.com/rust-lang/libc/pull/3408)
-   [`@&#8203;vincentisambart](https://togithub.com/vincentisambart)` made their first contribution in [https://github.com/rust-lang/libc/pull/3328](https://togithub.com/rust-lang/libc/pull/3328)

**Full Changelog**: https://github.com/rust-lang/libc/compare/0.2.149...0.2.150

</details>

<details>
<summary>proptest-rs/proptest (proptest)</summary>

### [`v1.4.0`](https://togithub.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0)

[Compare Source](https://togithub.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0)

</details>

<details>
<summary>rust-lang/regex (regex)</summary>

### [`v1.10.2`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1102-2023-10-16)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.10.1...1.10.2)

\===================
This is a new patch release that fixes a search regression where incorrect
matches could be reported.

Bug fixes:

-   [BUG #&#8203;1110](https://togithub.com/rust-lang/regex/issues/1110):
    Revert broadening of reverse suffix literal optimization introduced in 1.10.1.

### [`v1.10.1`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1101-2023-10-14)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.10.0...1.10.1)

\===================
This is a new patch release with a minor increase in the number of valid
patterns and a broadening of some literal optimizations.

New features:

-   [FEATURE 04f5d7be](04f5d7be4e):
    Loosen ASCII-compatible rules such that regexes like `(?-u:☃)` are now allowed.

Performance improvements:

-   [PERF 8a8d599f](8a8d599f9d):
    Broader the reverse suffix optimization to apply in more cases.

### [`v1.10.0`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1100-2023-10-09)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.6...1.10.0)

\===================
This is a new minor release of `regex` that adds support for start and end
word boundary assertions. That is, `\<` and `\>`. The minimum supported Rust
version has also been raised to 1.65, which was released about one year ago.

The new word boundary assertions are:

-   `\<` or `\b{start}`: a Unicode start-of-word boundary (`\W|\A` on the left,
    `\w` on the right).
-   `\>` or `\b{end}`: a Unicode end-of-word boundary (`\w` on the left, `\W|\z`
    on the right)).
-   `\b{start-half}`: half of a Unicode start-of-word boundary (`\W|\A` on the
    left).
-   `\b{end-half}`: half of a Unicode end-of-word boundary (`\W|\z` on the
    right).

The `\<` and `\>` are GNU extensions to POSIX regexes. They have been added
to the `regex` crate because they enjoy somewhat broad support in other regex
engines as well (for example, vim). The `\b{start}` and `\b{end}` assertions
are aliases for `\<` and `\>`, respectively.

The `\b{start-half}` and `\b{end-half}` assertions are not found in any
other regex engine (although regex engines with general look-around support
can certainly express them). They were added principally to support the
implementation of word matching in grep programs, where one generally wants to
be a bit more flexible in what is considered a word boundary.

New features:

-   [FEATURE #&#8203;469](https://togithub.com/rust-lang/regex/issues/469):
    Add support for `\<` and `\>` word boundary assertions.
-   [FEATURE(regex-automata) #&#8203;1031](https://togithub.com/rust-lang/regex/pull/1031):
    DFAs now have a `start_state` method that doesn't use an `Input`.

Performance improvements:

-   [PERF #&#8203;1051](https://togithub.com/rust-lang/regex/pull/1051):
    Unicode character class operations have been optimized in `regex-syntax`.
-   [PERF #&#8203;1090](https://togithub.com/rust-lang/regex/issues/1090):
    Make patterns containing lots of literal characters use less memory.

Bug fixes:

-   [BUG #&#8203;1046](https://togithub.com/rust-lang/regex/issues/1046):
    Fix a bug that could result in incorrect match spans when using a Unicode word
    boundary and searching non-ASCII strings.
-   [BUG(regex-syntax) #&#8203;1047](https://togithub.com/rust-lang/regex/issues/1047):
    Fix panics that can occur in `Ast->Hir` translation (not reachable from `regex`
    crate).
-   [BUG(regex-syntax) #&#8203;1088](https://togithub.com/rust-lang/regex/issues/1088):
    Remove guarantees in the API that connect the `u` flag with a specific HIR
    representation.

`regex-automata` breaking change release:

This release includes a `regex-automata 0.4.0` breaking change release, which
was necessary in order to support the new word boundary assertions. For
example, the `Look` enum has new variants and the `LookSet` type now uses `u32`
instead of `u16` to represent a bitset of look-around assertions. These are
overall very minor changes, and most users of `regex-automata` should be able
to move to `0.4` from `0.3` without any changes at all.

`regex-syntax` breaking change release:

This release also includes a `regex-syntax 0.8.0` breaking change release,
which, like `regex-automata`, was necessary in order to support the new word
boundary assertions. This release also includes some changes to the `Ast`
type to reduce heap usage in some cases. If you are using the `Ast` type
directly, your code may require some minor modifications. Otherwise, users of
`regex-syntax 0.7` should be able to migrate to `0.8` without any code changes.

`regex-lite` release:

The `regex-lite 0.1.1` release contains support for the new word boundary
assertions. There are no breaking changes.

### [`v1.9.6`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#196-2023-09-30)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.5...1.9.6)

\==================
This is a patch release that fixes a panic that can occur when the default
regex size limit is increased to a large number.

-   [BUG aa4e4c71](aa4e4c7120):
    Fix a bug where computing the maximum haystack length for the bounded
    backtracker could result underflow and thus provoke a panic later in a search
    due to a broken invariant.

### [`v1.9.5`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#195-2023-09-02)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.4...1.9.5)

\==================
This is a patch release that hopefully mostly fixes a performance bug that
occurs when sharing a regex across multiple threads.

Issue [#&#8203;934](https://togithub.com/rust-lang/regex/issues/934)
explains this in more detail. It is [also noted in the crate
documentation](https://docs.rs/regex/latest/regex/#sharing-a-regex-across-threads-can-result-in-contention).
The bug can appear when sharing a regex across multiple threads simultaneously,
as might be the case when using a regex from a `OnceLock`, `lazy_static` or
similar primitive. Usually high contention only results when using many threads
to execute searches on small haystacks.

One can avoid the contention problem entirely through one of two methods.
The first is to use lower level APIs from `regex-automata` that require passing
state explicitly, such as [`meta::Regex::search_with`](https://docs.rs/regex-automata/latest/regex_automata/meta/struct.Regex.html#method.search_with).
The second is to clone a regex and send it to other threads explicitly. This
will not use any additional memory usage compared to sharing the regex. The
only downside of this approach is that it may be less convenient, for example,
it won't work with things like `OnceLock` or `lazy_static` or `once_cell`.

With that said, as of this release, the contention performance problems have
been greatly reduced. This was achieved by changing the free-list so that it
was sharded across threads, and that ensuring each sharded mutex occupies a
single cache line to mitigate false sharing. So while contention may still
impact performance in some cases, it should be a lot better now.

Because of the changes to how the free-list works, please report any issues you
find with this release. That not only includes search time regressions but also
significant regressions in memory usage. Reporting improvements is also welcome
as well! If possible, provide a reproduction.

Bug fixes:

-   [BUG #&#8203;934](https://togithub.com/rust-lang/regex/issues/934):
    Fix a performance bug where high contention on a single regex led to massive
    slow downs.

### [`v1.9.4`](https://togithub.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#194-2023-08-26)

[Compare Source](https://togithub.com/rust-lang/regex/compare/1.9.3...1.9.4)

\==================
This is a patch release that fixes a bug where `RegexSet::is_match(..)` could
incorrectly return false (even when `RegexSet::matches(..).matched_any()`
returns true).

Bug fixes:

-   [BUG #&#8203;1070](https://togithub.com/rust-lang/regex/issues/1070):
    Fix a bug where a prefilter was incorrectly configured for a `RegexSet`.

</details>

<details>
<summary>serde-rs/serde (serde)</summary>

### [`v1.0.193`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.193)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.192...v1.0.193)

-   Fix field names used for the deserialization of `RangeFrom` and `RangeTo` ([#&#8203;2653](https://togithub.com/serde-rs/serde/issues/2653), [#&#8203;2654](https://togithub.com/serde-rs/serde/issues/2654), [#&#8203;2655](https://togithub.com/serde-rs/serde/issues/2655), thanks [`@&#8203;emilbonnek](https://togithub.com/emilbonnek))`

### [`v1.0.192`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.192)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.191...v1.0.192)

-   Allow internal tag field in untagged variant ([#&#8203;2646](https://togithub.com/serde-rs/serde/issues/2646), thanks [`@&#8203;robsdedude](https://togithub.com/robsdedude))`

### [`v1.0.191`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.191)

[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.190...v1.0.191)

-   Documentation improvements

</details>

<details>
<summary>mitsuhiko/similar (similar)</summary>

### [`v2.3.0`](https://togithub.com/mitsuhiko/similar/blob/HEAD/CHANGELOG.md#230)

[Compare Source](https://togithub.com/mitsuhiko/similar/compare/2.2.1...2.3.0)

-   Added support for `Change::value_ref` and `Change::value_mut`.

</details>

<details>
<summary>dtolnay/syn (syn)</summary>

### [`v2.0.39`](https://togithub.com/dtolnay/syn/releases/tag/2.0.39)

[Compare Source](https://togithub.com/dtolnay/syn/compare/2.0.38...2.0.39)

-   Fix parsing of return expression in match guards ([#&#8203;1528](https://togithub.com/dtolnay/syn/issues/1528))
-   Improve error message on labeled loop as value expression for break ([#&#8203;1531](https://togithub.com/dtolnay/syn/issues/1531))

</details>

<details>
<summary>toml-rs/toml (toml)</summary>

### [`v0.8.8`](https://togithub.com/toml-rs/toml/compare/toml-v0.8.7...toml-v0.8.8)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.8.7...toml-v0.8.8)

### [`v0.8.7`](https://togithub.com/toml-rs/toml/compare/toml-v0.8.6...toml-v0.8.7)

[Compare Source](https://togithub.com/toml-rs/toml/compare/toml-v0.8.6...toml-v0.8.7)

</details>

<details>
<summary>tokio-rs/tracing (tracing-subscriber)</summary>

### [`v0.3.18`](https://togithub.com/tokio-rs/tracing/releases/tag/tracing-subscriber-0.3.18): tracing-subscriber 0.3.18

[Compare Source](https://togithub.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.17...tracing-subscriber-0.3.18)

This release of `tracing-subscriber` adds support for the [`NO_COLOR`][NO_COLOR] environment
variable (an informal standard to disable emitting ANSI color escape codes) in
`fmt::Layer`, reintroduces support for the [`chrono`][chrono] crate, and increases the
minimum supported Rust version (MSRV) to Rust 1.63.0.

It also introduces several minor API improvements.

##### Added

-   **chrono**: Add [`chrono`][chrono] implementations of `FormatTime` ([#&#8203;2690])
-   **subscriber**: Add support for the [`NO_COLOR`][NO_COLOR] environment variable in
    `fmt::Layer` ([#&#8203;2647])
-   **fmt**: make `format::Writer::new()` public ([#&#8203;2680])
-   **filter**: Implement `layer::Filter` for `Option<Filter>` ([#&#8203;2407])

##### Changed

-   **log**: bump version of `tracing-log` to 0.2 ([#&#8203;2772])
-   Increased minimum supported Rust version (MSRV) to 1.63.0+.

[`chrono`]: https://togithub.com/chronotope/chrono

[`NO_COLOR`]: https://no-color.org/

[#&#8203;2690]: https://togithub.com/tokio-rs/tracing/pull/2690

[#&#8203;2647]: https://togithub.com/tokio-rs/tracing/pull/2647

[#&#8203;2680]: https://togithub.com/tokio-rs/tracing/pull/2680

[#&#8203;2407]: https://togithub.com/tokio-rs/tracing/pull/2407

[#&#8203;2772]: https://togithub.com/tokio-rs/tracing/pull/2772

Thanks to [`@&#8203;shayne-fletcher](https://togithub.com/shayne-fletcher),` [`@&#8203;dmlary](https://togithub.com/dmlary),` [`@&#8203;kaifastromai](https://togithub.com/kaifastromai),` and [`@&#8203;jsgf](https://togithub.com/jsgf)` for contributing!

</details>

<details>
<summary>servo/rust-url (url)</summary>

### [`v2.5.0`](https://togithub.com/servo/rust-url/releases/tag/v2.5.0)

[Compare Source](https://togithub.com/servo/rust-url/compare/v2.4.1...v2.5.0)

#### What's Changed

-   Fix clippy by [`@&#8203;valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/878](https://togithub.com/servo/rust-url/pull/878)
-   use checked addition to not panic in debug build by [`@&#8203;Skgland](https://togithub.com/Skgland)` in [https://github.com/servo/rust-url/pull/877](https://togithub.com/servo/rust-url/pull/877)
-   Fix search setting for non-special urls with space, query and fragment by [`@&#8203;edgul](https://togithub.com/edgul)` in [https://github.com/servo/rust-url/pull/879](https://togithub.com/servo/rust-url/pull/879)
-   Added #\[must_use] Attributes for Configuration Options by [`@&#8203;Redfire75369](https://togithub.com/Redfire75369)` in [https://github.com/servo/rust-url/pull/876](https://togithub.com/servo/rust-url/pull/876)
-   Correct spelling mistake in `Position` docs by [`@&#8203;sprocklem](https://togithub.com/sprocklem)` in [https://github.com/servo/rust-url/pull/875](https://togithub.com/servo/rust-url/pull/875)
-   Fix another overflow in punycode encode_into by [`@&#8203;Skgland](https://togithub.com/Skgland)` in [https://github.com/servo/rust-url/pull/880](https://togithub.com/servo/rust-url/pull/880)
-   Update url 2.5.0 by [`@&#8203;valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/885](https://togithub.com/servo/rust-url/pull/885)

#### New Contributors

-   [`@&#8203;Skgland](https://togithub.com/Skgland)` made their first contribution in [https://github.com/servo/rust-url/pull/877](https://togithub.com/servo/rust-url/pull/877)
-   [`@&#8203;edgul](https://togithub.com/edgul)` made their first contribution in [https://github.com/servo/rust-url/pull/879](https://togithub.com/servo/rust-url/pull/879)
-   [`@&#8203;Redfire75369](https://togithub.com/Redfire75369)` made their first contribution in [https://github.com/servo/rust-url/pull/876](https://togithub.com/servo/rust-url/pull/876)
-   [`@&#8203;sprocklem](https://togithub.com/sprocklem)` made their first contribution in [https://github.com/servo/rust-url/pull/875](https://togithub.com/servo/rust-url/pull/875)

**Full Changelog**: https://github.com/servo/rust-url/compare/v2.4.1...v2.5.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
2023-12-01 20:41:18 +00:00
bors
baa5bf7283 Auto merge of #13093 - epage:gix, r=weihanglo
chore(ci): Always update gix packages together
2023-12-01 20:08:49 +00:00
bors
9aca1ac5f8 Auto merge of #13089 - rust-lang:renovate/windows-sys-0.x, r=epage
chore(deps): update rust crate windows-sys to 0.52

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [windows-sys](https://togithub.com/microsoft/windows-rs) | workspace.dependencies | minor | `0.48` -> `0.52` |

---

### Release Notes

<details>
<summary>microsoft/windows-rs (windows-sys)</summary>

### [`v0.52.0`](https://togithub.com/microsoft/windows-rs/releases/tag/0.52.0)

[Compare Source](https://togithub.com/microsoft/windows-rs/compare/0.48.0...0.52.0)

This release includes updates to all crates. This includes the first update to the `windows-sys` crate in 8 months. It also includes the first published version of the [riddle](https://crates.io/crates/riddle) tool and the [windows-version](https://crates.io/crates/windows-version) crate.

#### What's Changed

-   Simplify issue templates by [`@&#8203;riverar](https://togithub.com/riverar)` in [https://github.com/microsoft/windows-rs/pull/2621](https://togithub.com/microsoft/windows-rs/pull/2621)
-   Switch all crates to Rust edition 2021 by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2620](https://togithub.com/microsoft/windows-rs/pull/2620)
-   Correct workflow trigger ignore paths by [`@&#8203;riverar](https://togithub.com/riverar)` in [https://github.com/microsoft/windows-rs/pull/2622](https://togithub.com/microsoft/windows-rs/pull/2622)
-   Detect unused `bindgen`/`riddle` filters by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2634](https://togithub.com/microsoft/windows-rs/pull/2634)
-   Fix `BOOLEAN` parameter binding by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2635](https://togithub.com/microsoft/windows-rs/pull/2635)
-   Provide individual crate readme files by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2645](https://togithub.com/microsoft/windows-rs/pull/2645)
-   Tweak Win32 error code conversion to handle `HRESULT` input by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2646](https://togithub.com/microsoft/windows-rs/pull/2646)
-   Remove support for the defunct `StaticLibrary` attribute by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2647](https://togithub.com/microsoft/windows-rs/pull/2647)
-   Derive `PartialEq`, `Eq`, `Debug`, `Clone` for interfaces by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2651](https://togithub.com/microsoft/windows-rs/pull/2651)
-   Internal `bindgen` refactoring by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2654](https://togithub.com/microsoft/windows-rs/pull/2654)
-   Disable signature transformation for `NTSTATUS` by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2658](https://togithub.com/microsoft/windows-rs/pull/2658)
-   Unhide `query` method on `ComInterface` trait by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2659](https://togithub.com/microsoft/windows-rs/pull/2659)
-   Harden `QueryInterface` implementation by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2660](https://togithub.com/microsoft/windows-rs/pull/2660)
-   Mask non-reproducible linker artifacts in libs by [`@&#8203;riverar](https://togithub.com/riverar)` in [https://github.com/microsoft/windows-rs/pull/2661](https://togithub.com/microsoft/windows-rs/pull/2661)
-   Slim doc generation by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2671](https://togithub.com/microsoft/windows-rs/pull/2671)
-   Update SDK and WDK metadata by [`@&#8203;riverar](https://togithub.com/riverar)` in [https://github.com/microsoft/windows-rs/pull/2664](https://togithub.com/microsoft/windows-rs/pull/2664)
-   Add feature documentation quotes by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2675](https://togithub.com/microsoft/windows-rs/pull/2675)
-   Add `docs` feature by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2676](https://togithub.com/microsoft/windows-rs/pull/2676)
-   Simplify metadata reader by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2682](https://togithub.com/microsoft/windows-rs/pull/2682)
-   Add bindgen config option to disable generating inner attributes by [`@&#8203;dpaoliello](https://togithub.com/dpaoliello)` in [https://github.com/microsoft/windows-rs/pull/2683](https://togithub.com/microsoft/windows-rs/pull/2683)
-   Simplify metadata filtering by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2684](https://togithub.com/microsoft/windows-rs/pull/2684)
-   Simplify code generation by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2686](https://togithub.com/microsoft/windows-rs/pull/2686)
-   Fix link from docs.rs to full API documentation by [`@&#8203;ChrisDenton](https://togithub.com/ChrisDenton)` in [https://github.com/microsoft/windows-rs/pull/2688](https://togithub.com/microsoft/windows-rs/pull/2688)
-   Optimize tick trimming by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2689](https://togithub.com/microsoft/windows-rs/pull/2689)
-   Small bindgen refactor and tools refresh by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2695](https://togithub.com/microsoft/windows-rs/pull/2695)
-   Document `implement` and `interface` macros by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2696](https://togithub.com/microsoft/windows-rs/pull/2696)
-   Perform checked integral type conversions for APIs by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2699](https://togithub.com/microsoft/windows-rs/pull/2699)
-   Add `windows-version` crate by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2702](https://togithub.com/microsoft/windows-rs/pull/2702)
-   Add crate-specific readme files by [`@&#8203;kennykerr](https://togithub.com/kennykerr)` in [https://github.com/microsoft/windows-rs/pull/2703](https://togithub.com/microsoft/windows-rs/pull/2703)

#### New Contributors

-   [`@&#8203;dpaoliello](https://togithub.com/dpaoliello)` made their first contribution in [https://github.com/microsoft/windows-rs/pull/2683](https://togithub.com/microsoft/windows-rs/pull/2683)

**Full Changelog**: https://github.com/microsoft/windows-rs/compare/0.48.5...0.52.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
2023-12-01 19:23:50 +00:00
bors
b97cffe069 Auto merge of #13080 - epage:toml, r=weihanglo
refactor(toml): Decouple logic from schema

### What does this PR try to resolve?

This tries to decouple cargo logic from the schemas so we can split the schemas out into a separate crate for #12801

Profile layering was one of the few pieces of logic I kept in the schema, assuming its general enough / decoupled enough from cargo policies.

### How should we test and review this PR?

Each step is broken down into its own commit for easier analysis

### Additional information
2023-12-01 18:48:37 +00:00
bors
78109c0d2c Auto merge of #13071 - LuuuXXX:issue-11010, r=epage
Have cargo add --optional <dep> create a <dep> = "dep:<dep> feature

### What does this PR try to resolve?

`cargo add --optional <dep>` would create a `<dep> = "dep:<dep>` feature iff

- `rust-version` is unset or is new enough for the syntax
- `dep:<dep>` doesn't already exist

Fixes https://github.com/rust-lang/cargo/issues/11010

### How should we test and review this PR?

As the `dep:` syntax is only available starting with Rust 1.60. this pr maintains the previous usage convention in the earlier version.

run

```shell
cargo add --optional <dep>
```

with different rust-version to verify.
2023-12-01 18:13:54 +00:00
LuuuX
036a03709b Fix issue-11010 2023-12-02 01:36:16 +08:00
bors
60e65eefb2 Auto merge of #13046 - linyihai:cargo-add-public, r=epage
Add `--public` for `cargo add`

## What does this PR try to resolve?
Complete https://github.com/rust-lang/cargo/issues/13037

This PR want to add `--public/--no public` flag for `cargo add`

Note: this assumes we'll remove workspace inheritance support for `public` as it sounds like we'll be reverting it https://github.com/rust-lang/rust/issues/44663#issuecomment-1826474620.  If we decide to keep workspace inheritance, we'll need to come back and update this.

## How should we test and review this PR?
Most of Code were reference `cargo add --optional`, So can reviewed the new code based on the part of  `optional` code.

The new testcases were origin from the `cargo add --optional` part.
- `public` testcase:there is no dependencies and will be add `public` dependencies.
- `no_public` testcase:  there is no dependencies  and will be add `no_public` dependencies.
- `overwrite_public` testcase: the dependencies already exists but will be overwrite with `public`.
- `overwrite_no_public` testcase: the dependencies already exists but will be overwrite with `no_public`.
- `overwrite_public_with_no_public` testcase: the dependencies already marked as `no_public` and will be overwrite with `public`.
- `overwrite_no_public_with_public` testcase: the dependencies already marked as `public` and will be overwrite with `no_public`.
2023-12-01 17:33:20 +00:00
renovate[bot]
ab6adab01b
chore(deps): update compatible 2023-12-01 17:33:18 +00:00
bors
3d98b5e749 Auto merge of #13088 - rust-lang:renovate/toml_edit-0.x, r=epage
chore(deps): update rust crate toml_edit to 0.21.0

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [toml_edit](https://togithub.com/toml-rs/toml) | workspace.dependencies | minor | `0.20.7` -> `0.21.0` |

---

### Release Notes

<details>
<summary>toml-rs/toml (toml_edit)</summary>

### [`v0.21.0`](https://togithub.com/toml-rs/toml/compare/v0.20.7...v0.21.0)

[Compare Source](https://togithub.com/toml-rs/toml/compare/v0.20.7...v0.21.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
2023-12-01 16:55:15 +00:00
bors
ea633818b2 Auto merge of #13087 - rust-lang:renovate/rusqlite-0.x, r=epage
chore(deps): update rust crate rusqlite to 0.30.0

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rusqlite](https://togithub.com/rusqlite/rusqlite) | workspace.dependencies | minor | `0.29.0` -> `0.30.0` |

---

### Release Notes

<details>
<summary>rusqlite/rusqlite (rusqlite)</summary>

### [`v0.30.0`](https://togithub.com/rusqlite/rusqlite/releases/tag/v0.30.0): 0.30.0

[Compare Source](https://togithub.com/rusqlite/rusqlite/compare/v0.29.0...v0.30.0)

#### What's Changed

-   Fix sqlite3\_auto_extension xEntryPoint signature [#&#8203;1310](https://togithub.com/rusqlite/rusqlite/issues/1310)
-   Use track_caller for panicking methods [#&#8203;1314](https://togithub.com/rusqlite/rusqlite/issues/1314)
-   Force linking against system sqlite libs [#&#8203;1317](https://togithub.com/rusqlite/rusqlite/issues/1317)
-   fix compilation for target wasm32-wasi [#&#8203;1321](https://togithub.com/rusqlite/rusqlite/issues/1321)
-   Add SQLITE_MAX_COLUMN compile-time option [#&#8203;1324](https://togithub.com/rusqlite/rusqlite/issues/1324)
-   Upgrade http links to https in Cargo.toml [#&#8203;1330](https://togithub.com/rusqlite/rusqlite/issues/1330)
-   Update fallible-iterator requirement from 0.2 to 0.3 [#&#8203;1334](https://togithub.com/rusqlite/rusqlite/issues/1334)
-   Implement FromSql & ToSql for std::num::NonZero types [#&#8203;1313](https://togithub.com/rusqlite/rusqlite/issues/1313)
-   Add new constants introduced by SQLite 3.42.0 [#&#8203;1336](https://togithub.com/rusqlite/rusqlite/issues/1336)
-   Use SQLITE_PREPARE_PERSISTENT for CachedStatement [#&#8203;1339](https://togithub.com/rusqlite/rusqlite/issues/1339)
-   Fix type of SQLITE_DESERIALIZE\_*, SQLITE_PREPARE\_*, SQLITE_SERIALIZE_\* [#&#8203;1340](https://togithub.com/rusqlite/rusqlite/issues/1340)
-   Introduce to_sqlite_error [#&#8203;1345](https://togithub.com/rusqlite/rusqlite/issues/1345)
-   remove depth from Savepoint [#&#8203;1327](https://togithub.com/rusqlite/rusqlite/issues/1327)
-   Savepoint Drop bug [#&#8203;1347](https://togithub.com/rusqlite/rusqlite/issues/1347)
-   \[breaking change] Update edition from 2018 to 2021 [#&#8203;1267](https://togithub.com/rusqlite/rusqlite/issues/1267)
-   Remove msrv for clippy by [#&#8203;1351](https://togithub.com/rusqlite/rusqlite/issues/1351)
-   Tweak bindgen [#&#8203;1352](https://togithub.com/rusqlite/rusqlite/issues/1352), [#&#8203;1353](https://togithub.com/rusqlite/rusqlite/issues/1353)
-   Inline constraint_error_code [#&#8203;1359](https://togithub.com/rusqlite/rusqlite/issues/1359)
-   Simplify bindgen generation [#&#8203;1360](https://togithub.com/rusqlite/rusqlite/issues/1360)
-   Fixes generate_series to handle NULL arguments [#&#8203;1357](https://togithub.com/rusqlite/rusqlite/issues/1357)
-   Factorize code in build.rs [#&#8203;1361](https://togithub.com/rusqlite/rusqlite/issues/1361)
-   Serialize and deserialize database [#&#8203;1341](https://togithub.com/rusqlite/rusqlite/issues/1341)
-   Spelling and a few more nits [#&#8203;1373](https://togithub.com/rusqlite/rusqlite/issues/1373)
-   Implement support for more `time` types [#&#8203;1374](https://togithub.com/rusqlite/rusqlite/issues/1374)
-   Fix visibility of TransactionState [#&#8203;1384](https://togithub.com/rusqlite/rusqlite/issues/1384)
-   Column is used only with column_decltype feature [#&#8203;1385](https://togithub.com/rusqlite/rusqlite/issues/1385)
-   Use proper var names in trait definition [#&#8203;1398](https://togithub.com/rusqlite/rusqlite/issues/1398)
-   Fix clippy warning: arc_with_non_send_sync - interrupt_lock [#&#8203;1400](https://togithub.com/rusqlite/rusqlite/issues/1400)
-   Captured identifiers in SQL strings [#&#8203;1346](https://togithub.com/rusqlite/rusqlite/issues/1346)
-   Add new constants introduced by SQLite 3.43.0 [#&#8203;1405](https://togithub.com/rusqlite/rusqlite/issues/1405)
-   Make WindowAggregate::value pass mutable value ref [#&#8203;1395](https://togithub.com/rusqlite/rusqlite/issues/1395)
-   Bump bundled SQLite version to 3.44.0 [#&#8203;1409](https://togithub.com/rusqlite/rusqlite/issues/1409)
-   Bump bindgen version to 0.69 [#&#8203;1410](https://togithub.com/rusqlite/rusqlite/issues/1410)
-   Loadable extension [#&#8203;1362](https://togithub.com/rusqlite/rusqlite/issues/1362)

#### New Contributors

-   [`@&#8203;icp1994](https://togithub.com/icp1994)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1317](https://togithub.com/rusqlite/rusqlite/pull/1317)
-   [`@&#8203;wasm-forge](https://togithub.com/wasm-forge)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1321](https://togithub.com/rusqlite/rusqlite/pull/1321)
-   [`@&#8203;nopjia](https://togithub.com/nopjia)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1324](https://togithub.com/rusqlite/rusqlite/pull/1324)
-   [`@&#8203;Benjins-automation](https://togithub.com/Benjins-automation)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1330](https://togithub.com/rusqlite/rusqlite/pull/1330)
-   [`@&#8203;itsxaos](https://togithub.com/itsxaos)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1313](https://togithub.com/rusqlite/rusqlite/pull/1313)
-   [`@&#8203;Taywee](https://togithub.com/Taywee)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1327](https://togithub.com/rusqlite/rusqlite/pull/1327)
-   [`@&#8203;davidselassie](https://togithub.com/davidselassie)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1357](https://togithub.com/rusqlite/rusqlite/pull/1357)
-   [`@&#8203;nyurik](https://togithub.com/nyurik)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1373](https://togithub.com/rusqlite/rusqlite/pull/1373)
-   [`@&#8203;nydrani](https://togithub.com/nydrani)` made their first contribution in [https://github.com/rusqlite/rusqlite/pull/1374](https://togithub.com/rusqlite/rusqlite/pull/1374)

**Full Changelog**: https://github.com/rusqlite/rusqlite/compare/v0.29.0...v0.30.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
2023-12-01 16:15:43 +00:00
Ed Page
ed83ee0a2f chore(ci): Always update gix packages together 2023-12-01 10:02:30 -06:00
bors
c192d989b3 Auto merge of #13091 - weihanglo:trim-paths-lldb, r=epage
test(trim-paths): exercise with real world debugger
2023-12-01 15:47:10 +00:00
bors
847958971b Auto merge of #13053 - linyihai:cargo-uninstall-fixed, r=weihanglo
Fixed uninstall a running binary failed on Windows

### What does this PR try to resolve?
 Fixes https://github.com/rust-lang/cargo/issues/3364

The problem reproduce when you try to uninstall a running binary and it will failed on Windows,  this is because that cargo had already remove the installed binary tracker information in disk,  and next to remove the running binary but it is not allowed in Windows.  And to the worst,  you can not uninstall the binary already and only to reinstall it by the `--force` flag.

### How to solve the issue?
This PR try to make the uninstall a binary more reasonable that  only after remove the binary sucessfully then remove the tracker information on binary and make the remove binary one by one.

### How should we test and review this PR?
Add testcase 0fd4fd357b
- install the `foo`
- run `foo` in another thread.
- try to uninstall running `foo` and only failed in Windows.
- wait the `foo` finish, uninstall `foo`
- install the `foo`

### Additional information
2023-12-01 15:10:56 +00:00
Lin Yihai
db144c9d0a Add tracker verification for test case uninstall_running_binary 2023-12-01 22:23:40 +08:00
Weihang Lo
5c32fe0432
test(trim-paths): exercise with real world debugger 2023-12-01 08:48:24 -05:00
renovate[bot]
5e61514ed3
chore(deps): update rust crate windows-sys to 0.52 2023-12-01 03:29:43 +00:00
renovate[bot]
40d85adcb9
chore(deps): update rust crate toml_edit to 0.21.0 2023-12-01 03:29:23 +00:00
bors
e9ba4fe814 Auto merge of #13086 - rust-lang:renovate/itertools-0.x, r=weihanglo
chore(deps): update rust crate itertools to 0.12.0

[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [itertools](https://togithub.com/rust-itertools/itertools) | workspace.dependencies | minor | `0.11.0` -> `0.12.0` |

---

### Release Notes

<details>
<summary>rust-itertools/itertools (itertools)</summary>

### [`v0.12.0`](https://togithub.com/rust-itertools/itertools/blob/HEAD/CHANGELOG.md#0120)

[Compare Source](https://togithub.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0)

##### Breaking

-   Made `take_while_inclusive` consume iterator by value ([#&#8203;709](https://togithub.com/rust-itertools/itertools/issues/709))
-   Added `Clone` bound to `Unique` ([#&#8203;777](https://togithub.com/rust-itertools/itertools/issues/777))

##### Added

-   Added `Itertools::try_len` ([#&#8203;723](https://togithub.com/rust-itertools/itertools/issues/723))
-   Added free function `sort_unstable` ([#&#8203;796](https://togithub.com/rust-itertools/itertools/issues/796))
-   Added `GroupMap::fold_with` ([#&#8203;778](https://togithub.com/rust-itertools/itertools/issues/778), [#&#8203;785](https://togithub.com/rust-itertools/itertools/issues/785))
-   Added `PeekNth::{peek_mut, peek_nth_mut}` ([#&#8203;716](https://togithub.com/rust-itertools/itertools/issues/716))
-   Added `PeekNth::{next_if, next_if_eq}` ([#&#8203;734](https://togithub.com/rust-itertools/itertools/issues/734))
-   Added conversion into `(Option<A>,Option<B>)` to `EitherOrBoth` ([#&#8203;713](https://togithub.com/rust-itertools/itertools/issues/713))
-   Added conversion from `Either<A, B>` to `EitherOrBoth<A, B>` ([#&#8203;715](https://togithub.com/rust-itertools/itertools/issues/715))
-   Implemented `ExactSizeIterator` for `Tuples` ([#&#8203;761](https://togithub.com/rust-itertools/itertools/issues/761))
-   Implemented `ExactSizeIterator` for `(Circular)TupleWindows` ([#&#8203;752](https://togithub.com/rust-itertools/itertools/issues/752))
-   Made `EitherOrBoth<T>` a shorthand for `EitherOrBoth<T, T>` ([#&#8203;719](https://togithub.com/rust-itertools/itertools/issues/719))

##### Changed

-   Added missing `#[must_use]` annotations on iterator adaptors ([#&#8203;794](https://togithub.com/rust-itertools/itertools/issues/794))
-   Made `Combinations` lazy ([#&#8203;795](https://togithub.com/rust-itertools/itertools/issues/795))
-   Made `Intersperse(With)` lazy ([#&#8203;797](https://togithub.com/rust-itertools/itertools/issues/797))
-   Made `Permutations` lazy ([#&#8203;793](https://togithub.com/rust-itertools/itertools/issues/793))
-   Made `Product` lazy ([#&#8203;800](https://togithub.com/rust-itertools/itertools/issues/800))
-   Made `TupleWindows` lazy ([#&#8203;602](https://togithub.com/rust-itertools/itertools/issues/602))
-   Specialized `Combinations::{count, size_hint}` ([#&#8203;729](https://togithub.com/rust-itertools/itertools/issues/729))
-   Specialized `CombinationsWithReplacement::{count, size_hint}` ([#&#8203;737](https://togithub.com/rust-itertools/itertools/issues/737))
-   Specialized `Powerset::fold` ([#&#8203;765](https://togithub.com/rust-itertools/itertools/issues/765))
-   Specialized `Powerset::count` ([#&#8203;735](https://togithub.com/rust-itertools/itertools/issues/735))
-   Specialized `TupleCombinations::{count, size_hint}` ([#&#8203;763](https://togithub.com/rust-itertools/itertools/issues/763))
-   Specialized `TupleCombinations::fold` ([#&#8203;775](https://togithub.com/rust-itertools/itertools/issues/775))
-   Specialized `WhileSome::fold` ([#&#8203;780](https://togithub.com/rust-itertools/itertools/issues/780))
-   Specialized `WithPosition::fold` ([#&#8203;772](https://togithub.com/rust-itertools/itertools/issues/772))
-   Specialized `ZipLongest::fold` ([#&#8203;774](https://togithub.com/rust-itertools/itertools/issues/774))
-   Changed `{min, max}_set*` operations require `alloc` feature, instead of `std` ([#&#8203;760](https://togithub.com/rust-itertools/itertools/issues/760))
-   Improved documentation of `tree_fold1` ([#&#8203;787](https://togithub.com/rust-itertools/itertools/issues/787))
-   Improved documentation of `permutations` ([#&#8203;724](https://togithub.com/rust-itertools/itertools/issues/724))
-   Fixed typo in documentation of `multiunzip` ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770))

##### Notable Internal Changes

-   Improved specialization tests ([#&#8203;799](https://togithub.com/rust-itertools/itertools/issues/799), [#&#8203;786](https://togithub.com/rust-itertools/itertools/issues/786), [#&#8203;782](https://togithub.com/rust-itertools/itertools/issues/782))
-   Simplified implementation of `Permutations` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739), [#&#8203;748](https://togithub.com/rust-itertools/itertools/issues/748), [#&#8203;790](https://togithub.com/rust-itertools/itertools/issues/790))
-   Combined `Merge`/`MergeBy`/`MergeJoinBy` implementations ([#&#8203;736](https://togithub.com/rust-itertools/itertools/issues/736))
-   Simplified `Permutations::size_hint` ([#&#8203;739](https://togithub.com/rust-itertools/itertools/issues/739))
-   Fix wrapping arithmetic in benchmarks ([#&#8203;770](https://togithub.com/rust-itertools/itertools/issues/770))
-   Enforced `rustfmt` in CI ([#&#8203;751](https://togithub.com/rust-itertools/itertools/issues/751))
-   Disallowed compile warnings in CI ([#&#8203;720](https://togithub.com/rust-itertools/itertools/issues/720))
-   Used `cargo hack` to check MSRV ([#&#8203;754](https://togithub.com/rust-itertools/itertools/issues/754))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
2023-12-01 03:28:45 +00:00
Lin Yihai
48c998fec7 Add detect_workspace_inherit_public test case. 2023-12-01 11:22:26 +08:00
Lin Yihai
a6ca281948 chore: add lib.rs for new test cases 2023-12-01 10:21:33 +08:00
renovate[bot]
7025627162
chore(deps): update rust crate rusqlite to 0.30.0 2023-12-01 02:06:50 +00:00
renovate[bot]
48e3d6c330
chore(deps): update rust crate itertools to 0.12.0 2023-12-01 02:06:25 +00:00
bors
dd5e47acd2 Auto merge of #13085 - ehuss:registry-support-more, r=epage
Add more options to registry test support.

This adds a few things that are missing in the registry test support code. These aren't immediately necessary, since no tests rely on them. However, I wrote it for something else that I ended up not needing, but I think it is still helpful for future work.

The additions are:

- Ability to specify `default-features=false` for a registry dependency.
- Include binary dependencies in the index for the `cargo publish` HTTTP server (current `cargo publish` tests use `file:///` upload, and don't verify the index).
- Include `rust-version` in the `cargo publish` HTTP server (current `cargo publish` tests don't verify the index).
- Include the `features=[…]` field for dependencies in the published `Cargo.toml` (cargo doesn't read features from `Cargo.toml`, it only uses the registry, but it is probably best to keep it in sync).
- Include the `package="…"` field for dependencies (for renamed dependencies) in the published `Cargo.toml` (similarly, cargo only uses the index, but it is probably good to keep in sync).
2023-12-01 01:24:10 +00:00
Eric Huss
1aa769240d Add more options to registry test support. 2023-11-30 16:39:08 -08:00
Ed Page
9bb7c97b31 refactor(toml): Make rest of TomlManifest logic free functions 2023-11-30 10:49:33 -06:00
Ed Page
89f8f5c77a refactor(toml): Make Dep's to_dependency_split a free function 2023-11-30 10:43:24 -06:00
bors
1ef8575839 Auto merge of #13077 - GuillaumeGomez:filter-workspace-scrape-example, r=epage
Don't filter on workspace members when scraping doc examples

Fixes https://github.com/rust-lang/cargo/issues/13074.

I confirmed locally that it fixed the issue in docs.rs.

cc `@willcrichton`
r? `@epage`
2023-11-30 16:42:35 +00:00
Guillaume Gomez
689d9a7e4f Don't filter on workspace members when scraping doc examples 2023-11-30 17:38:49 +01:00
Guillaume Gomez
95a27cdbd1 Add regression test for scraped examples in crates without [workspace] 2023-11-30 17:36:46 +01:00
Lin Yihai
1e3b4231da chore: fixed clippy 2023-11-30 15:46:02 +08:00
Lin Yihai
26cf2740d7 Combine the behavior for cargo uninstall 2023-11-30 15:29:51 +08:00
bors
7ed235a48e Auto merge of #13076 - hi-rustin:rustin-patch-add, r=epage
Remove the outdated comment
2023-11-30 03:11:37 +00:00
hi-rustin
fc45ed29d7 Remove the outdated comment
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-11-30 10:57:23 +08:00
bors
f38ebbe9d4 Auto merge of #13036 - epage:defenestrate, r=Eh2406
fix(resolver): Remove unused public-deps error handling

To implement rust-lang/rfcs#3516, we need to decouple the resolver's behavior from the unstable flag.  Since the code path is now dead, I went ahead and removed it.
2023-11-29 21:50:33 +00:00
Ed Page
8ff20c7b3c refactor(toml): Make Dep's to_dependency a free function 2023-11-29 15:41:57 -06:00
Ed Page
94395d4b45 refactor(toml): Make Detailed Dep's to_dependency a free function 2023-11-29 15:38:36 -06:00
Ed Page
a43e09073c test(resolver): Don't bother generating public cases 2023-11-29 13:11:39 -06:00
bors
430effa37d Auto merge of #12484 - adrianEffe:fix/error-count, r=weihanglo
Fixes error count display is different when there's only one error left

### What does this PR try to resolve?

When there's only 1 error left, the number 1 appears in the output so that it scans the same as the output when there's more than 1 error, so:

```
error: could not compile `crate` (lib test) due to 1 previous error
```
instead of the current:
```
error: could not compile `crate` (lib test) due to a previous error
```

Fixes #12390

rustc related PR [#114759](https://github.com/rust-lang/rust/pull/114759)
2023-11-29 19:07:16 +00:00
bors
07f1208a9f Auto merge of #13065 - weihanglo:remap-path-prefix-order, r=ehuss
fix: reorder `--remap-path-prefix` flags for `-Zbuild-std`

### What does this PR try to resolve?

Order of `--remap-path-prefix` flags is important for `-Zbuild-std`.
We want to show `/rustc/<hash>/library/std` instead of `std-0.0.0`.

Fixes rust-lang/rust#117839

### How should we test and review this PR?

Follow the steps in rust-lang/rust#117839, or run

```
CARGO_RUN_BUILD_STD_TESTS=true cargo +nightly t --test build-std
```

to verify.
2023-11-29 18:28:07 +00:00
Ed Page
e6da166c8b test(resolver-tests): Remove public dep support from SAT resolver 2023-11-29 12:17:26 -06:00
Adrian
3e297a6803
Update test for override respects spec metadata 2023-11-29 18:47:27 +02:00
Adrian
b7b5a093a1
Fix cargo errors counter 2023-11-29 18:47:14 +02:00
bors
d5d9c35e5f Auto merge of #13072 - belovdv:jobserver-remove-env-var, r=weihanglo
remove jobserver env var in some tests

This PR makes cargo compatible with [rust-lang/rust#113730](https://github.com/rust-lang/rust/pull/113730). Linked [comment](https://github.com/rust-lang/rust/pull/113730#issuecomment-1821892786). Problem to be fixed: shim for cargo fix spawns rustc with make environment variable inherited, which points to closed jobserver.

r? `@weihanglo`
2023-11-29 12:57:11 +00:00
belovdv
6b86f93713 remove jobserver in shim for tests in testsuite/fix 2023-11-29 15:30:58 +03:00
Lin Yihai
0fd4fd357b Add test case for cargo uninstall while try to uninstalling a running Bin. 2023-11-29 17:52:22 +08:00
bors
bec67ed6d2 Auto merge of #13069 - weihanglo:buildscript-cfg, r=ehuss
doc: clarify different target has different set of `CARGO_CFG_*` values
2023-11-29 03:49:59 +00:00
Weihang Lo
8e7dbebcfd
doc: clarify different target has different set of CARGO_CFG_* values 2023-11-28 22:47:18 -05:00
bors
35ea623b4c Auto merge of #13070 - weihanglo:pr-template, r=epage
docs: remove review capacity notice in PR template

Forgot to update PR template in #12842. This updates accordingly.

Note that this doesn't mean Cargo start accepting arbitrary pull requests or features. The reviewers are still a small handful of people. The guideline never changes — issue, discuss, then pull request.
2023-11-29 02:00:53 +00:00
Weihang Lo
44e063830c
docs: remove review capacity notice 2023-11-28 20:40:27 -05:00