bors
05364cb2f6
Auto merge of #13857 - rust-lang:renovate/msrv, r=epage
...
chore(deps): update msrv (3 versions) to v1.76
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change | Pending |
|---|---|---|---|
| [MSRV:3](https://togithub.com/rust-lang/rust ) | minor | `1.75` -> `1.76` | `1.78` (+1) |
---
### Release Notes
<details>
<summary>rust-lang/rust (MSRV:3)</summary>
### [`v1.76`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1760-2024-02-08 )
[Compare Source](https://togithub.com/rust-lang/rust/compare/1.75.0...1.76.0 )
\==========================
<a id="1.76.0-Language"></a>
## Language
- [Document Rust ABI compatibility between various types](https://togithub.com/rust-lang/rust/pull/115476/ )
- [Also: guarantee that char and u32 are ABI-compatible](https://togithub.com/rust-lang/rust/pull/118032/ )
- [Add lint `ambiguous_wide_pointer_comparisons` that supersedes `clippy::vtable_address_comparisons`](https://togithub.com/rust-lang/rust/pull/117758 )
<a id="1.76.0-Compiler"></a>
## Compiler
- [Lint pinned `#[must_use]` pointers (in particular, `Box<T>` where `T` is `#[must_use]`) in `unused_must_use`.](https://togithub.com/rust-lang/rust/pull/118054/ )
- [Soundness fix: fix computing the offset of an unsized field in a packed struct](https://togithub.com/rust-lang/rust/pull/118540/ )
- [Soundness fix: fix dynamic size/align computation logic for packed types with dyn Trait tail](https://togithub.com/rust-lang/rust/pull/118538/ )
- [Add `$message_type` field to distinguish json diagnostic outputs](https://togithub.com/rust-lang/rust/pull/115691/ )
- [Enable Rust to use the EHCont security feature of Windows](https://togithub.com/rust-lang/rust/pull/118013/ )
- [Add tier 3 {x86\_64,i686}-win7-windows-msvc targets](https://togithub.com/rust-lang/rust/pull/118150/ )
- [Add tier 3 aarch64-apple-watchos target](https://togithub.com/rust-lang/rust/pull/119074/ )
- [Add tier 3 arm64e-apple-ios & arm64e-apple-darwin targets](https://togithub.com/rust-lang/rust/pull/115526/ )
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.76.0-Libraries"></a>
## Libraries
- [Add a column number to `dbg!()`](https://togithub.com/rust-lang/rust/pull/114962/ )
- [Add `std:#️⃣ :{DefaultHasher, RandomState}` exports](https://togithub.com/rust-lang/rust/pull/115694/ )
- [Fix rounding issue with exponents in fmt](https://togithub.com/rust-lang/rust/pull/116301/ )
- [Add T: ?Sized to `RwLockReadGuard` and `RwLockWriteGuard`'s Debug impls.](https://togithub.com/rust-lang/rust/pull/117138/ )
- [Windows: Allow `File::create` to work on hidden files](https://togithub.com/rust-lang/rust/pull/116438/ )
<a id="1.76.0-Stabilized-APIs"></a>
## Stabilized APIs
- [`Arc::unwrap_or_clone`](https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.unwrap_or_clone )
- [`Rc::unwrap_or_clone`](https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.unwrap_or_clone )
- [`Result::inspect`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect )
- [`Result::inspect_err`](https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.inspect_err )
- [`Option::inspect`](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.inspect )
- [`type_name_of_val`](https://doc.rust-lang.org/stable/std/any/fn.type_name_of_val.html )
- [`std:#️⃣ :{DefaultHasher, RandomState}`](https://doc.rust-lang.org/stable/std/hash/index.html#structs )
These were previously available only through `std::collections::hash_map`.
- [`ptr::{from_ref, from_mut}`](https://doc.rust-lang.org/stable/std/ptr/fn.from_ref.html )
- [`ptr::addr_eq`](https://doc.rust-lang.org/stable/std/ptr/fn.addr_eq.html )
<a id="1.76.0-Cargo"></a>
## Cargo
See [Cargo release notes](https://togithub.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-176-2024-02-08 ).
<a id="1.76.0-Rustdoc"></a>
## Rustdoc
- [Don't merge cfg and doc(cfg) attributes for re-exports](https://togithub.com/rust-lang/rust/pull/113091/ )
- [rustdoc: allow resizing the sidebar / hiding the top bar](https://togithub.com/rust-lang/rust/pull/115660/ )
- [rustdoc-search: add support for traits and associated types](https://togithub.com/rust-lang/rust/pull/116085/ )
- [rustdoc: Add highlighting for comments in items declaration](https://togithub.com/rust-lang/rust/pull/117869/ )
<a id="1.76.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Add allow-by-default lint for unit bindings](https://togithub.com/rust-lang/rust/pull/112380/ )
This is expected to be upgraded to a warning by default in a future Rust
release. Some macros emit bindings with type `()` with user-provided spans,
which means that this lint will warn for user code.
- [Remove x86\_64-sun-solaris target.](https://togithub.com/rust-lang/rust/pull/118091/ )
- [Remove asmjs-unknown-emscripten target](https://togithub.com/rust-lang/rust/pull/117338/ )
- [Report errors in jobserver inherited through environment variables](https://togithub.com/rust-lang/rust/pull/113730/ )
This [may warn](https://togithub.com/rust-lang/rust/issues/120515 ) on benign problems too.
- [Update the minimum external LLVM to 16.](https://togithub.com/rust-lang/rust/pull/117947/ )
- [Improve `print_tts`](https://togithub.com/rust-lang/rust/pull/114571/ )
This change can break some naive manual parsing of token trees in proc macro
code which expect a particular structure after `.to_string()`, rather than just arbitrary Rust code.
- [Make `IMPLIED_BOUNDS_ENTAILMENT` into a hard error from a lint](https://togithub.com/rust-lang/rust/pull/117984/ )
- [Vec's allocation behavior was changed when collecting some iterators](https://togithub.com/rust-lang/rust/pull/110353 )
Allocation behavior is currently not specified, nevertheless changes can be surprising.
See [`impl FromIterator for Vec`](https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#impl-FromIterator%3CT%3E-for-Vec%3CT%3E )
for more details.
- [Properly reject `default` on free const items](https://togithub.com/rust-lang/rust/pull/117818/ )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-05-03 16:48:59 +00:00
renovate[bot]
de12264978
chore(deps): update msrv (3 versions) to v1.76
2024-05-03 16:07:50 +00:00
bors
7ebc065673
Auto merge of #13571 - Urgau:stabilize-check-cfg, r=weihanglo
...
Stabilize `-Zcheck-cfg` as always enabled
This PR stabilize the `-Zcheck-cfg` option as always enabled.
~~Waiting on https://github.com/rust-lang/rust/issues/82450#issuecomment-1965328542 to complete, but is otherwise ready to be reviewed (in particular the documentation changes).~~ (https://github.com/rust-lang/rust/pull/123501 )
Fixes https://github.com/rust-lang/cargo/issues/10554
2024-05-03 15:38:39 +00:00
bors
cf7b3c4cf3
Auto merge of #13852 - Muscraft:revert-seperating-lints, r=epage
...
fix(lints): Prevent inheritance from bring exposed for published packages
#13843 demonstrated a regression caused by #13801 , where we started to keep `[lints]` and `[workspace.lints]` separate, and not truly resolve `[lints]`. This was a nice thing to have and made it easier to tell when a lint came from a workspace. The downside of doing so is the lints table would not get resolved when vendoring or publishing.
To fix this issue, I reverted the change for keeping `[lints]` and `[workspace.lints]` separate and modified how cargo's linting system figures out where a lint is coming from. Due to this change, we no longer specify that a lint was set by `[workspace.lints]`, only `[lints]`. It is true that a lint level is set by `[lints]` always, as it would've had to specify the lint outright or specify that it was inheriting it, seeing that, I do not think this is a regression in diagnostic quality. I still manage to keep the ability to render a lint's location in the workspace's manifest when running ` analyze_cargo_lints_table`, which I am pleased about.
2024-05-03 00:49:36 +00:00
Scott Schafer
6c2334613c
fix(lints): Prevent inheritance from bring exposed for published packages
2024-05-02 15:37:53 -06:00
bors
97181c67e1
Auto merge of #13851 - weihanglo:macos, r=epage
...
refactor: remove unnecessary branch for link binary on macOS
2024-05-02 20:11:50 +00:00
Weihang Lo
f8aead9338
refactor: remove unnecessary branch for link binary on macOS
...
The other workaround branch should have covered that.
2024-05-02 16:04:26 -04:00
bors
9e57a8d830
Auto merge of #13849 - epage:no-infer, r=weihanglo
...
perf(toml): Avoid inferring when targets are known
### What does this PR try to resolve?
We read the file system to infer two different data points
- Implicit targets
- Implicit `path` values for targets
I took a shortcut for this case and recognize the scenario where we can
bypass both and do so.
I went with a bypass, rather than this being integrating into the
inferring code because the inferring code is complex and I didn't want
to add to it further in isolating the inferring to only when its needed.
The validation gets duplicated because having it in the middle of the resolve code provides a better user experience and it would be messy to add the conditionals to get all of that working. I at least worked to keep the duplicated validation close to each other.
### How should we test and review this PR?
### Additional information
2024-05-02 19:41:57 +00:00
bors
f89264764a
Auto merge of #13850 - eddiewebb:patch-1, r=epage
...
Update continuous-integration.md: Include CircleCI reference
### What does this PR try to resolve?
Adds simple example to run `cargo test` on CircleCI, alongside the other popular CI engines.
### How should we test and review this PR?
Change is purely documentation. I would ask that the PR be checked for tone and formatting that is in line with Rust/Cargo community standards.
2024-05-02 17:17:32 +00:00
bors
1a0e77f216
Auto merge of #13848 - rust-lang:renovate/msrv, r=epage
...
chore(deps): update msrv (1 version) to v1.78
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [MSRV:1](https://togithub.com/rust-lang/rust ) | minor | `1.77` -> `1.78` |
---
### Release Notes
<details>
<summary>rust-lang/rust (MSRV:1)</summary>
### [`v1.78`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1780-2024-05-02 )
[Compare Source](https://togithub.com/rust-lang/rust/compare/1.77.0...1.78.0 )
\==========================
<a id="1.78.0-Language"></a>
## Language
- [Stabilize `#[cfg(target_abi = ...)]`](https://togithub.com/rust-lang/rust/pull/119590/ )
- [Stabilize the `#[diagnostic]` namespace and `#[diagnostic::on_unimplemented]` attribute](https://togithub.com/rust-lang/rust/pull/119888/ )
- [Make async-fn-in-trait implementable with concrete signatures](https://togithub.com/rust-lang/rust/pull/120103/ )
- [Make matching on NaN a hard error, and remove the rest of `illegal_floating_point_literal_pattern`](https://togithub.com/rust-lang/rust/pull/116284/ )
- [static mut: allow mutable reference to arbitrary types, not just slices and arrays](https://togithub.com/rust-lang/rust/pull/117614/ )
- [Extend `invalid_reference_casting` to include references casting to bigger memory layout](https://togithub.com/rust-lang/rust/pull/118983/ )
- [Add `non_contiguous_range_endpoints` lint for singleton gaps after exclusive ranges](https://togithub.com/rust-lang/rust/pull/118879/ )
- [Add `wasm_c_abi` lint for use of older wasm-bindgen versions](https://togithub.com/rust-lang/rust/pull/117918/ )
This lint currently only works when using Cargo.
- [Update `indirect_structural_match` and `pointer_structural_match` lints to match RFC](https://togithub.com/rust-lang/rust/pull/120423/ )
- [Make non-`PartialEq`-typed consts as patterns a hard error](https://togithub.com/rust-lang/rust/pull/120805/ )
- [Split `refining_impl_trait` lint into `_reachable`, `_internal` variants](https://togithub.com/rust-lang/rust/pull/121720/ )
- [Remove unnecessary type inference when using associated types inside of higher ranked `where`-bounds](https://togithub.com/rust-lang/rust/pull/119849 )
- [Weaken eager detection of cyclic types during type inference](https://togithub.com/rust-lang/rust/pull/119989 )
- [`trait Trait: Auto {}`: allow upcasting from `dyn Trait` to `dyn Auto`](https://togithub.com/rust-lang/rust/pull/119338 )
<a id="1.78.0-Compiler"></a>
## Compiler
- [Made `INVALID_DOC_ATTRIBUTES` lint deny by default](https://togithub.com/rust-lang/rust/pull/111505/ )
- [Increase accuracy of redundant `use` checking](https://togithub.com/rust-lang/rust/pull/117772/ )
- [Suggest moving definition if non-found macro_rules! is defined later](https://togithub.com/rust-lang/rust/pull/121130/ )
- [Lower transmutes from int to pointer type as gep on null](https://togithub.com/rust-lang/rust/pull/121282/ )
Target changes:
- [Windows tier 1 targets now require at least Windows 10](https://togithub.com/rust-lang/rust/pull/115141/ )
- [Enable CMPXCHG16B, SSE3, SAHF/LAHF and 128-bit Atomics in tier 1 Windows](https://togithub.com/rust-lang/rust/pull/120820/ )
- [Add `wasm32-wasip1` tier 2 (without host tools) target](https://togithub.com/rust-lang/rust/pull/120468/ )
- [Add `wasm32-wasip2` tier 3 target](https://togithub.com/rust-lang/rust/pull/119616/ )
- [Rename `wasm32-wasi-preview1-threads` to `wasm32-wasip1-threads`](https://togithub.com/rust-lang/rust/pull/122170/ )
- [Add `arm64ec-pc-windows-msvc` tier 3 target](https://togithub.com/rust-lang/rust/pull/119199/ )
- [Add `armv8r-none-eabihf` tier 3 target for the Cortex-R52](https://togithub.com/rust-lang/rust/pull/110482/ )
- [Add `loongarch64-unknown-linux-musl` tier 3 target](https://togithub.com/rust-lang/rust/pull/121832/ )
Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.
<a id="1.78.0-Libraries"></a>
## Libraries
- [Bump Unicode to version 15.1.0, regenerate tables](https://togithub.com/rust-lang/rust/pull/120777/ )
- [Make align_offset, align_to well-behaved in all cases](https://togithub.com/rust-lang/rust/pull/121201/ )
- [PartialEq, PartialOrd: document expectations for transitive chains](https://togithub.com/rust-lang/rust/pull/115386/ )
- [Optimize away poison guards when std is built with panic=abort](https://togithub.com/rust-lang/rust/pull/100603/ )
- [Replace pthread `RwLock` with custom implementation](https://togithub.com/rust-lang/rust/pull/110211/ )
- [Implement unwind safety for Condvar on all platforms](https://togithub.com/rust-lang/rust/pull/121768/ )
- [Add ASCII fast-path for `char::is_grapheme_extended`](https://togithub.com/rust-lang/rust/pull/121138/ )
<a id="1.78.0-Stabilized-APIs"></a>
## Stabilized APIs
- [`impl Read for &Stdin`](https://doc.rust-lang.org/stable/std/io/struct.Stdin.html#impl-Read-for-%26Stdin )
- [Accept non `'static` lifetimes for several `std::error::Error` related implementations](https://togithub.com/rust-lang/rust/pull/113833/ )
- [Make `impl<Fd: AsFd>` impl take `?Sized`](https://togithub.com/rust-lang/rust/pull/114655/ )
- [`impl From<TryReserveError> for io::Error`](https://doc.rust-lang.org/stable/std/io/struct.Error.html#impl-From%3CTryReserveError%3E-for-Error )
These APIs are now stable in const contexts:
- [`Barrier::new()`](https://doc.rust-lang.org/stable/std/sync/struct.Barrier.html#method.new )
<a id="1.78.0-Cargo"></a>
## Cargo
- [Stabilize lockfile v4](https://togithub.com/rust-lang/cargo/pull/12852/ )
- [Respect `rust-version` when generating lockfile](https://togithub.com/rust-lang/cargo/pull/12861/ )
- [Control `--charset` via auto-detecting config value](https://togithub.com/rust-lang/cargo/pull/13337/ )
- [Support `target.<triple>.rustdocflags` officially](https://togithub.com/rust-lang/cargo/pull/13197/ )
- [Stabilize global cache data tracking](https://togithub.com/rust-lang/cargo/pull/13492/ )
<a id="1.78.0-Misc"></a>
## Misc
- [rustdoc: add `--test-builder-wrapper` arg to support wrappers such as RUSTC_WRAPPER when building doctests](https://togithub.com/rust-lang/rust/pull/114651/ )
<a id="1.78.0-Compatibility-Notes"></a>
## Compatibility Notes
- [Many unsafe precondition checks now run for user code with debug assertions enabled](https://togithub.com/rust-lang/rust/pull/120594/ )
This change helps users catch undefined behavior in their code, though the details of how much is checked are generally not stable.
- [riscv only supports split_debuginfo=off for now](https://togithub.com/rust-lang/rust/pull/120518/ )
- [Consistently check bounds on hidden types of `impl Trait`](https://togithub.com/rust-lang/rust/pull/121679 )
- [Change equality of higher ranked types to not rely on subtyping](https://togithub.com/rust-lang/rust/pull/118247 )
- [When called, additionally check bounds on normalized function return type](https://togithub.com/rust-lang/rust/pull/118882 )
- [Expand coverage for `arithmetic_overflow` lint](https://togithub.com/rust-lang/rust/pull/119432/ )
<a id="1.78.0-Internal-Changes"></a>
## Internal Changes
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
- [Update to LLVM 18](https://togithub.com/rust-lang/rust/pull/120055/ )
- [Build `rustc` with 1CGU on `x86_64-pc-windows-msvc`](https://togithub.com/rust-lang/rust/pull/112267/ )
- [Build `rustc` with 1CGU on `x86_64-apple-darwin`](https://togithub.com/rust-lang/rust/pull/112268/ )
- [Introduce `run-make` V2 infrastructure, a `run_make_support` library and port over 2 tests as example](https://togithub.com/rust-lang/rust/pull/113026/ )
- [Windows: Implement condvar, mutex and rwlock using futex](https://togithub.com/rust-lang/rust/pull/121956/ )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-05-02 16:48:24 +00:00
Eddie Webbinaro
e62ef14fd8
Update continuous-integration.md: Include CircleCI reference
...
Adds simple example to run `cargo test` on CircleCI
2024-05-02 12:30:59 -04:00
renovate[bot]
05ba4d8cfe
chore(deps): update msrv (1 version) to v1.78
2024-05-02 15:07:25 +00:00
bors
8733d5a80b
Auto merge of #13845 - thiblahute:zfs_macos_hard_link, r=weihanglo
...
Workaround copying file returning EAGAIN on ZFS on mac OS
### What does this PR try to resolve?
Fixes #13838
Trying to build simple hello world fail when on zfs file system on macOS fails while trying to copy files around.
This PR makes cargo fallback to using hard_link when that happens, retrying can lead to very long wait before copying works (up to 4secs in my tests) while hard_linking works straight away.
2024-05-02 14:37:55 +00:00
Thibault Saunier
4634aa6403
cargo-util: Bump version
2024-05-02 10:20:00 -04:00
bors
27d3e3d603
Auto merge of #13818 - osiewicz:clean-package-perf-improvements, r=weihanglo
...
Clean package perf improvements
### What does this PR try to resolve?
I've noticed that `cargo clean -p` execution time scales poorly with size of target directory; in my case (~250GB target directory on M1 Mac) running `cargo clean -p` takes circa 35 seconds. Notably, it's the file listing that takes that time, not deleting the package itself. That is, when running `cargo clean -p SOME_PACKAGE` twice in a row, both executions take roughly the same time.
I've tracked it down to the fact that we seem quite happy to use `glob::glob` function, which iterates over contents of target dir. It also was a bit sub-optimal when it came to doing that, for which I've already filled a PR in https://github.com/rust-lang/glob/pull/144 - that PR alone takes down cleaning time down to ~14 seconds. While it is a good improvement for a relatively straightforward change, this PR tries to take it even further. With glob PR applied + changes from this PR, my test case goes down to ~6 seconds. I'm pretty sure that we could squeeze this further, but I'd rather do so in a follow-up PR.
Notably, this PR doesn't help with *just* super-large target directories. `cargo clean -p serde` on cargo repo (with ~7Gb target directory size) went down from ~380ms to ~100ms for me. Not too shabby.
### How should we test and review this PR?
I've mostly tested it manually, running `cargo clean` against multiple different repos.
### Additional information
TODO:
- [x] [c770700](c770700885
) is not quite correct; we need to consider that it changes how progress reporting works; as is, we're gonna report all progress relatively quickly and stall at the end (when we're actually iterating over directories, globbing, removing files, that kind of jazz). I'll address that.
2024-05-02 13:59:32 +00:00
bors
e420c7bbdd
Auto merge of #13841 - epage:i, r=weihanglo
...
fix(toml): Validate crates_types/proc-macro for bin like others
### What does this PR try to resolve?
This is all refactors on my way to skipping inferring of targets when it isn't needed. Along the way, I made the target validation more consistent
### How should we test and review this PR?
### Additional information
2024-05-02 13:23:03 +00:00
Thibault Saunier
defff445fa
Workaround copying file returning EAGAIN on ZFS on mac OS
...
Falling back to hard_link when that happens, retrying can lead to very
long wait before copying works (up to 4secs in my tests) while
hard_linking works straight away.
Looks related to https://github.com/openzfsonosx/zfs/issues/809
Closes #13838
2024-05-02 08:32:38 -04:00
Piotr Osiewicz
9c1139ec72
feedback: rewrite doc comment for rm_rf_prefix_list
2024-05-02 12:37:25 +02:00
Piotr Osiewicz
574d086cb3
fixup! Update src/cargo/ops/cargo_clean.rs
2024-05-02 12:30:38 +02:00
Piotr Osiewicz
a49a2b9584
Update src/cargo/ops/cargo_clean.rs
...
Change Rc<str> to &str
Co-authored-by: Weihang Lo <weihanglo@users.noreply.github.com>
2024-05-02 12:29:28 +02:00
Ed Page
f5892f210e
perf(toml): Avoid inferring when targets are known
...
We read the file system to infer two different data points
- Implicit targets
- Implicit `path` values for targets
I took a shortcut for this case and recognize the scenario where we can
bypass both and do so.
I went with a bypass, rather than this being integrating into the
inferring code because the inferring code is complex and I didn't want
to add to it further in isolating the inferring to only when its needed.
2024-05-01 19:42:19 -05:00
Ed Page
3740bbb36c
refactor(toml): Defer inferred discovery
2024-05-01 19:42:19 -05:00
Ed Page
cdae596394
refactor(toml): Consistently document motivation for validation order
2024-05-01 19:42:02 -05:00
Ed Page
fe0819ee9e
fix(toml): Validate crates_types/proc-macro for bin like others
...
Turns out, we allow these fields, just in limited ways, so we need to be
consistent.
I limited when this applies to reduce noise from the user solving there
problem because they are unlikely to keep the field and switch it to the
opposite value
2024-05-01 19:36:30 -05:00
Ed Page
2c31fe33e8
test(toml): Show underscore behavior for bin targets
2024-05-01 19:35:53 -05:00
Ed Page
d59e7a3443
test(toml): Scope proc_macro2 tests to libs
2024-05-01 19:32:13 -05:00
bors
d34d0a1e15
Auto merge of #13839 - epage:df_2024, r=Muscraft
...
fix(toml): On 2024 Edition, disallow ignored `default-features` when inheriting
### What does this PR try to resolve?
This is part of rust-lang/rust#123754
This is a follow up to #11409 which tweaked how we do inheritance of default-features, including warning when `default-features = false` is ignored. This turns those warnings into an error.
### How should we test and review this PR?
### Additional information
2024-05-01 22:06:45 +00:00
bors
57d3248335
Auto merge of #13840 - epage:openssl, r=weihanglo
...
chore(ci): Ignore openssl deps
We excluded the packages in #13731 but that just means they fell into the default logic, rather than being ignored (see #13835 ). This at least made it easier to reject the change.
This should prevent the PR from being created.
2024-05-01 21:04:43 +00:00
Ed Page
89810b9688
chore(ci): Ignore openssl deps
...
We excluded the packages in #13731 but that just means they fell into
the default logic, rather than being ignored (see #13835 ). This at
least made it easier to reject the change.
This should prevent the PR from being created.
2024-05-01 15:35:59 -05:00
bors
bbea43745c
Auto merge of #13837 - Muscraft:only-underscores-lint-names, r=epage
...
fix(lints): Remove ability to specify `-` in lint name
In a recent Cargo Team meeting, it was discussed whether our lint should use `-` or `_` and if we should rewrite the wrong form to the correct one. It was decided that Cargo would use `_` for lint names and would not convert `-` to `_` automatically; instead, we would warn about an "unknown lint" and mention the similarly named lint with `_`, if found.
The decision to ise `_` was made because it is the canonical representation, as well as [RFC #344 ](https://rust-lang.github.io/rfcs/0344-conventions-galore.html#lints ) specifies:
> Use snake case in the same way you would for function names.
This PR implements these changes.
Note: This adds an `unknown_lints` lint, that tries to mirror [the lint `rustc` has with the same name](https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#unknown-lints ).
2024-05-01 20:31:49 +00:00
Ed Page
627b1d1470
feat(fix): Migrate inherited deps with ignored default-features
2024-05-01 12:43:47 -05:00
Ed Page
10012ce9cf
test(fix): Show default-features migration
2024-05-01 12:30:57 -05:00
Ed Page
5965c15179
fix(toml): Disallow ignored default-features when inheriting
2024-05-01 12:04:07 -05:00
Ed Page
2e686d46f3
test(toml): Show default features inheritance on 2024 Edition
2024-05-01 12:04:07 -05:00
Ed Page
656107a173
refactor(toml): Allow adding errors to ws dep inheritance
2024-05-01 12:04:07 -05:00
Ed Page
7f2c7061f1
refactor(toml): Move the ws default features function out
2024-05-01 12:04:07 -05:00
Ed Page
738cdeca8b
refactor(toml): Clarify what the ws default features function does
2024-05-01 12:04:07 -05:00
bors
82dca28700
Auto merge of #13791 - epage:msrv-unset, r=Eh2406
...
fix(resolver): Treat unset MSRV as compatible
### What does this PR try to resolve?
Have the resolver treat no-MSRV as `rust-version = "*"`, like `cargo add` does for version-requirement selection
### How should we test and review this PR?
We last tweaked this logic in #13066 .
However, we noticed this was inconsistent with `cargo add` in automatically selecting version requirements.
It looks like this is a revert of #13066 , taking us back to the behavior in #12950 .
In #12950 there was a concern about the proliferation of no-MSRV and whether we should de-prioritize those to make the chance of success more likely.
There are no right answes here, only which wrong answer is ok enough.
- Do we treat lack of rust version as `rust-version = "*"` as some people expect or do we try to be smart?
- If a user adds or removes `rust-version`, how should that affect the priority?
One piece of new information is that the RFC for this has us trying to fill the no-MSRV gap with
`rust-version = some-value-representing-the-current-toolchain>`.
See also https://github.com/rust-lang/cargo/issues/9930#issuecomment-1977471059
r? `@Eh2406`
### Additional information
2024-05-01 16:56:30 +00:00
Scott Schafer
6c08e58de9
feat(cargo-lints): Add a lint for unknown_lints
2024-05-01 10:45:09 -06:00
Scott Schafer
9159ebb083
fix(cargo-lints): Don't rewrite dash to underscore in lint name
2024-05-01 10:41:35 -06:00
bors
e591b0ee9f
Auto merge of #13836 - epage:default_features, r=Muscraft
...
fix(toml): Don't lose 'public' when inheriting a dep
### What does this PR try to resolve?
When inheriting a simple dep, we preserved the package dep's `public`
field but lost it when inheriting a detailed dep.
This was done by consolidating the code paths. This also reduces the
risk of us doing this again in the future.
### How should we test and review this PR?
I didn't write tests for this specific case because I refactored the root cause away.
### Additional information
2024-05-01 16:26:35 +00:00
Ed Page
1fc366826c
refactor(toml): Use exhaustive destructure to ensure we inherit dep fields
2024-05-01 11:04:47 -05:00
Ed Page
e8ba122c8b
fix(toml): Don't lose 'public' when inheriting a dep
...
When inheriting a simple dep, we preserved the package dep's `public`
field but lost it when inheriting a detailed dep.
This was done by consolidating the code paths. This also reduces the
risk of us doing this again in the future.
2024-05-01 10:57:42 -05:00
Ed Page
bfe62a670d
refactor(toml): Always create a detailed dep
...
This minimizes risk as we add more dependency features
2024-05-01 10:51:36 -05:00
Ed Page
7820a0b446
refactor(toml): Clarify which dep we are talking about
2024-05-01 10:41:00 -05:00
bors
ed20c34d1c
Auto merge of #13834 - rust-lang:renovate/compatible, r=epage
...
chore(deps): update compatible
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [annotate-snippets](https://togithub.com/rust-lang/annotate-snippets-rs ) | workspace.dependencies | patch | `0.11.1` -> `0.11.2` |
| [anyhow](https://togithub.com/dtolnay/anyhow ) | workspace.dependencies | patch | `1.0.81` -> `1.0.82` |
| [base64](https://togithub.com/marshallpierce/rust-base64 ) | workspace.dependencies | patch | `0.22.0` -> `0.22.1` |
| [color-print](https://gitlab.com/dajoha/color-print ) | workspace.dependencies | patch | `0.3.5` -> `0.3.6` |
| [flate2](https://togithub.com/rust-lang/flate2-rs ) | workspace.dependencies | patch | `1.0.28` -> `1.0.30` |
| [indexmap](https://togithub.com/indexmap-rs/indexmap ) | workspace.dependencies | patch | `2` -> `2.2.6` |
| [jobserver](https://togithub.com/rust-lang/jobserver-rs ) | workspace.dependencies | patch | `0.1.28` -> `0.1.31` |
| [libc](https://togithub.com/rust-lang/libc ) | workspace.dependencies | patch | `0.2.153` -> `0.2.154` |
| [pathdiff](https://togithub.com/Manishearth/pathdiff ) | workspace.dependencies | patch | `0.2` -> `0.2.1` |
| [percent-encoding](https://togithub.com/servo/rust-url ) | workspace.dependencies | patch | `2.3` -> `2.3.1` |
| [pulldown-cmark](https://togithub.com/raphlinus/pulldown-cmark ) | workspace.dependencies | patch | `0.10.2` -> `0.10.3` |
| [serde](https://serde.rs ) ([source](https://togithub.com/serde-rs/serde )) | workspace.dependencies | patch | `1.0.197` -> `1.0.199` |
| [serde_json](https://togithub.com/serde-rs/json ) | workspace.dependencies | patch | `1.0.115` -> `1.0.116` |
| [thiserror](https://togithub.com/dtolnay/thiserror ) | workspace.dependencies | patch | `1.0.58` -> `1.0.59` |
| [time](https://time-rs.github.io ) ([source](https://togithub.com/time-rs/time )) | workspace.dependencies | patch | `0.3` -> `0.3.36` |
| [toml_edit](https://togithub.com/toml-rs/toml ) | workspace.dependencies | patch | `0.22.11` -> `0.22.12` |
| [unicode-width](https://togithub.com/unicode-rs/unicode-width ) | workspace.dependencies | patch | `0.1.11` -> `0.1.12` |
---
### Release Notes
<details>
<summary>rust-lang/annotate-snippets-rs (annotate-snippets)</summary>
### [`v0.11.2`](https://togithub.com/rust-lang/annotate-snippets-rs/blob/HEAD/CHANGELOG.md#0112---2024-04-27 )
[Compare Source](https://togithub.com/rust-lang/annotate-snippets-rs/compare/0.11.1...0.11.2 )
##### Added
- All public types now implement `Debug` [#​119](https://togithub.com/rust-lang/annotate-snippets-rs/pull/119 )
</details>
<details>
<summary>dtolnay/anyhow (anyhow)</summary>
### [`v1.0.82`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.82 )
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.81...1.0.82 )
- Documentation improvements
</details>
<details>
<summary>marshallpierce/rust-base64 (base64)</summary>
### [`v0.22.1`](https://togithub.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0221 )
[Compare Source](https://togithub.com/marshallpierce/rust-base64/compare/v0.22.0...v0.22.1 )
- Correct the symbols used for the predefined `alphabet::BIN_HEX`.
</details>
<details>
<summary>dajoha/color-print (color-print)</summary>
### [`v0.3.6`](https://gitlab.com/dajoha/color-print/compare/v0.3.5...v0.3.6 )
[Compare Source](https://gitlab.com/dajoha/color-print/compare/v0.3.5...v0.3.6 )
</details>
<details>
<summary>rust-lang/flate2-rs (flate2)</summary>
### [`v1.0.30`](https://togithub.com/rust-lang/flate2-rs/releases/tag/1.0.30 ): - docs.rs pages should build again
[Compare Source](https://togithub.com/rust-lang/flate2-rs/compare/1.0.29...1.0.30 )
##### What's Changed
- Fix typos by [`@​striezel](https://togithub.com/striezel )` in [https://github.com/rust-lang/flate2-rs/pull/406 ](https://togithub.com/rust-lang/flate2-rs/pull/406 )
- Update actions/checkout in GitHub Actions workflows to v4 by [`@​striezel](https://togithub.com/striezel )` in [https://github.com/rust-lang/flate2-rs/pull/407 ](https://togithub.com/rust-lang/flate2-rs/pull/407 )
- fix CI - `--all-features` wasn't tested and didn't work with arrival of `zlib-rs` by [`@​Byron](https://togithub.com/Byron )` in [https://github.com/rust-lang/flate2-rs/pull/405 ](https://togithub.com/rust-lang/flate2-rs/pull/405 )
##### New Contributors
- [`@​striezel](https://togithub.com/striezel )` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/406 ](https://togithub.com/rust-lang/flate2-rs/pull/406 )
**Full Changelog**: https://github.com/rust-lang/flate2-rs/compare/1.0.29...1.0.30
### [`v1.0.29`](https://togithub.com/rust-lang/flate2-rs/releases/tag/1.0.29 ): - with new `zlib-rs` feature (~`zlib-ng` in Rust)
[Compare Source](https://togithub.com/rust-lang/flate2-rs/compare/1.0.28...1.0.29 )
With the [new `zlib-rs`](https://togithub.com/memorysafety/zlib-rs ) feature, a new backend is enabled that brings in a SIMD-accelerated Rust implementation.
##### What's Changed
- Fix build for beta and nightly by [`@​JakubOnderka](https://togithub.com/JakubOnderka )` in [https://github.com/rust-lang/flate2-rs/pull/388 ](https://togithub.com/rust-lang/flate2-rs/pull/388 )
- Store `StreamWrapper::inner` as a raw pointer by [`@​icmccorm](https://togithub.com/icmccorm )` in [https://github.com/rust-lang/flate2-rs/pull/394 ](https://togithub.com/rust-lang/flate2-rs/pull/394 )
- Avoid redudant imports by [`@​Byron](https://togithub.com/Byron )` in [https://github.com/rust-lang/flate2-rs/pull/398 ](https://togithub.com/rust-lang/flate2-rs/pull/398 )
- add `zlib-rs` support via the `libz-rs-sys` C api for `zlib-rs` by [`@​folkertdev](https://togithub.com/folkertdev )` in [https://github.com/rust-lang/flate2-rs/pull/400 ](https://togithub.com/rust-lang/flate2-rs/pull/400 )
- Add tests to show BufRead can be used after decoding by [`@​jongiddy](https://togithub.com/jongiddy )` in [https://github.com/rust-lang/flate2-rs/pull/402 ](https://togithub.com/rust-lang/flate2-rs/pull/402 )
- release version 1.0.29: support for zlib-rs by [`@​folkertdev](https://togithub.com/folkertdev )` in [https://github.com/rust-lang/flate2-rs/pull/403 ](https://togithub.com/rust-lang/flate2-rs/pull/403 )
##### New Contributors
- [`@​JakubOnderka](https://togithub.com/JakubOnderka )` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/388 ](https://togithub.com/rust-lang/flate2-rs/pull/388 )
- [`@​icmccorm](https://togithub.com/icmccorm )` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/394 ](https://togithub.com/rust-lang/flate2-rs/pull/394 )
- [`@​folkertdev](https://togithub.com/folkertdev )` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/400 ](https://togithub.com/rust-lang/flate2-rs/pull/400 )
**Full Changelog**: https://github.com/rust-lang/flate2-rs/compare/1.0.28...1.0.29
</details>
<details>
<summary>rust-lang/libc (libc)</summary>
### [`v0.2.154`](https://togithub.com/rust-lang/libc/releases/tag/0.2.154 )
[Compare Source](https://togithub.com/rust-lang/libc/compare/0.2.153...0.2.154 )
#### What's Changed
- Fix CI on v0.2 by [`@​JohnTitor](https://togithub.com/JohnTitor )` in [https://github.com/rust-lang/libc/pull/3589 ](https://togithub.com/rust-lang/libc/pull/3589 )
- \[Backport [#​3547](https://togithub.com/rust-lang/libc/issues/3547 )] Add ioctl FS_IOC\_{G,S}{ETVERSION,ETFLAGS} for CSKY by [`@​Dirreke](https://togithub.com/Dirreke )` in [https://github.com/rust-lang/libc/pull/3572 ](https://togithub.com/rust-lang/libc/pull/3572 )
- Add Linux riscv64 HWCAP defines (libc-0.2) by [`@​Xeonacid](https://togithub.com/Xeonacid )` in [https://github.com/rust-lang/libc/pull/3580 ](https://togithub.com/rust-lang/libc/pull/3580 )
- Add missing MIPS R6 FS_IOC_\* definitions by [`@​chenx97](https://togithub.com/chenx97 )` in [https://github.com/rust-lang/libc/pull/3591 ](https://togithub.com/rust-lang/libc/pull/3591 )
- Support posix_spawn on Android by [`@​pcc](https://togithub.com/pcc )` in [https://github.com/rust-lang/libc/pull/3602 ](https://togithub.com/rust-lang/libc/pull/3602 )
- \[0.2] Fix libc-tests for loongarch64 by [`@​heiher](https://togithub.com/heiher )` in [https://github.com/rust-lang/libc/pull/3607 ](https://togithub.com/rust-lang/libc/pull/3607 )
- visionOS Support by [`@​agg23](https://togithub.com/agg23 )` in [https://github.com/rust-lang/libc/pull/3568 ](https://togithub.com/rust-lang/libc/pull/3568 )
- \[0.2] linux/musl: Add support for LoongArch64 by [`@​heiher](https://togithub.com/heiher )` in [https://github.com/rust-lang/libc/pull/3606 ](https://togithub.com/rust-lang/libc/pull/3606 )
- v0.2: Fix c_char on AIX by [`@​taiki-e](https://togithub.com/taiki-e )` in [https://github.com/rust-lang/libc/pull/3662 ](https://togithub.com/rust-lang/libc/pull/3662 )
- solarish adding SO_EXCLBIND constant. by [`@​devnexen](https://togithub.com/devnexen )` in [https://github.com/rust-lang/libc/pull/3651 ](https://togithub.com/rust-lang/libc/pull/3651 )
- \[0.2] Add SIG constants to espidf by [`@​Tevz-Beskovnik](https://togithub.com/Tevz-Beskovnik )` in [https://github.com/rust-lang/libc/pull/3658 ](https://togithub.com/rust-lang/libc/pull/3658 )
- add all android sysconf constants by [`@​fkm3](https://togithub.com/fkm3 )` in [https://github.com/rust-lang/libc/pull/3656 ](https://togithub.com/rust-lang/libc/pull/3656 )
- feat: more \_PC_XXX constants for apple targets by [`@​SteveLauC](https://togithub.com/SteveLauC )` in [https://github.com/rust-lang/libc/pull/3649 ](https://togithub.com/rust-lang/libc/pull/3649 )
- feat: O_EXEC/O_SEARCH for apple platforms by [`@​SteveLauC](https://togithub.com/SteveLauC )` in [https://github.com/rust-lang/libc/pull/3668 ](https://togithub.com/rust-lang/libc/pull/3668 )
- \[0.2] Add constant AT_MINSIGSTKSZ by [`@​ur4t](https://togithub.com/ur4t )` in [https://github.com/rust-lang/libc/pull/3637 ](https://togithub.com/rust-lang/libc/pull/3637 )
- Haiku: synchronize with post R1-beta 4 changes in libc by [`@​nielx](https://togithub.com/nielx )` in [https://github.com/rust-lang/libc/pull/3638 ](https://togithub.com/rust-lang/libc/pull/3638 )
- adding getentropy/getrandom to dragonflybsd. by [`@​devnexen](https://togithub.com/devnexen )` in [https://github.com/rust-lang/libc/pull/3618 ](https://togithub.com/rust-lang/libc/pull/3618 )
- Move strftime, strftime_l, strptime to linux_like by [`@​pcc](https://togithub.com/pcc )` in [https://github.com/rust-lang/libc/pull/3600 ](https://togithub.com/rust-lang/libc/pull/3600 )
- update crate version to 0.2.154 by [`@​Dirreke](https://togithub.com/Dirreke )` in [https://github.com/rust-lang/libc/pull/3573 ](https://togithub.com/rust-lang/libc/pull/3573 )
#### New Contributors
- [`@​pcc](https://togithub.com/pcc )` made their first contribution in [https://github.com/rust-lang/libc/pull/3602 ](https://togithub.com/rust-lang/libc/pull/3602 )
- [`@​agg23](https://togithub.com/agg23 )` made their first contribution in [https://github.com/rust-lang/libc/pull/3568 ](https://togithub.com/rust-lang/libc/pull/3568 )
- [`@​Tevz-Beskovnik](https://togithub.com/Tevz-Beskovnik )` made their first contribution in [https://github.com/rust-lang/libc/pull/3658 ](https://togithub.com/rust-lang/libc/pull/3658 )
- [`@​ur4t](https://togithub.com/ur4t )` made their first contribution in [https://github.com/rust-lang/libc/pull/3637 ](https://togithub.com/rust-lang/libc/pull/3637 )
**Full Changelog**: https://github.com/rust-lang/libc/compare/0.2.153...0.2.154
</details>
<details>
<summary>raphlinus/pulldown-cmark (pulldown-cmark)</summary>
### [`v0.10.3`](https://togithub.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.10.3 )
[Compare Source](https://togithub.com/raphlinus/pulldown-cmark/compare/v0.10.2...v0.10.3 )
The main change of this release is the `simd` feature was not being used in the escape functions since the version 0.10 due to a mistake during the separation of the crate `pulldown-cmark-escape`.
The crate `pulldown-cmark-escape` has been updated to the version 0.10.1.
#### What's Changed
- fix: fix dead code warning from nightly compiler by [`@​rhysd](https://togithub.com/rhysd )` in [https://github.com/pulldown-cmark/pulldown-cmark/pull/876 ](https://togithub.com/pulldown-cmark/pulldown-cmark/pull/876 )
- Eat all spaces after line break in link title by [`@​notriddle](https://togithub.com/notriddle )` in [https://github.com/pulldown-cmark/pulldown-cmark/pull/877 ](https://togithub.com/pulldown-cmark/pulldown-cmark/pull/877 )
- Mark `Rule` as a block item by [`@​notriddle](https://togithub.com/notriddle )` in [https://github.com/pulldown-cmark/pulldown-cmark/pull/879 ](https://togithub.com/pulldown-cmark/pulldown-cmark/pull/879 )
**Full Changelog**: https://github.com/pulldown-cmark/pulldown-cmark/compare/v0.10.2...v0.10.3
</details>
<details>
<summary>serde-rs/serde (serde)</summary>
### [`v1.0.199`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.199 )
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.198...v1.0.199 )
- Fix ambiguous associated item when `forward_to_deserialize_any!` is used on an enum with `Error` variant ([#​2732](https://togithub.com/serde-rs/serde/issues/2732 ), thanks [`@​aatifsyed](https://togithub.com/aatifsyed ))`
### [`v1.0.198`](https://togithub.com/serde-rs/serde/releases/tag/v1.0.198 )
[Compare Source](https://togithub.com/serde-rs/serde/compare/v1.0.197...v1.0.198 )
- Support serializing and deserializing `Saturating<T>` ([#​2709](https://togithub.com/serde-rs/serde/issues/2709 ), thanks [`@​jbethune](https://togithub.com/jbethune ))`
</details>
<details>
<summary>serde-rs/json (serde_json)</summary>
### [`v1.0.116`](https://togithub.com/serde-rs/json/releases/tag/v1.0.116 )
[Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.115...v1.0.116 )
- Make module structure comprehensible to static analysis ([#​1124](https://togithub.com/serde-rs/json/issues/1124 ), thanks [`@​mleonhard](https://togithub.com/mleonhard ))`
</details>
<details>
<summary>dtolnay/thiserror (thiserror)</summary>
### [`v1.0.59`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.59 )
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.58...1.0.59 )
- Unblock testing of rustc `debug-fmt-detail` option ([#​297](https://togithub.com/dtolnay/thiserror/issues/297 ))
</details>
<details>
<summary>time-rs/time (time)</summary>
### [`v0.3.36`](https://togithub.com/time-rs/time/blob/HEAD/CHANGELOG.md#0336-2024-04-10 )
[Compare Source](https://togithub.com/time-rs/time/compare/v0.3.35...v0.3.36 )
##### # Fixed
- `FormatItem` can be used as part of an import path. See [#​675] for details.
[#​675]: https://togithub.com/time-rs/time/issues/675
### [`v0.3.35`](https://togithub.com/time-rs/time/blob/HEAD/CHANGELOG.md#0335-2024-04-10 )
[Compare Source](https://togithub.com/time-rs/time/compare/v0.3.34...v0.3.35 )
##### Added
- `Duration::checked_neg`
- `ext::InstantExt`, which provides methods for using `time::Duration` with `std::time::Instant`
##### Changed
- `Instant` is deprecated. It is recommended to use `std::time::Instant` directly, importing
`time::ext::InstantExt` for interoperability with `time::Duration`.
- `FormatItem` has been renamed to `BorrowedFormatItem`, avoiding confusion with `OwnedFormatItem`.
An alias has been added for backwards compatibility.
##### Fixed
- The weekday is optional when parsing RFC2822.
- The range of sub-second values in `Duration` is documented correctly. The previous documentation
contained an off-by-one error.
- Leap seconds are now correctly handled when parsing ISO 8601.
</details>
<details>
<summary>toml-rs/toml (toml_edit)</summary>
### [`v0.22.12`](https://togithub.com/toml-rs/toml/compare/v0.22.11...v0.22.12 )
[Compare Source](https://togithub.com/toml-rs/toml/compare/v0.22.11...v0.22.12 )
</details>
<details>
<summary>unicode-rs/unicode-width (unicode-width)</summary>
### [`v0.1.12`](https://togithub.com/unicode-rs/unicode-width/compare/v0.1.11...v0.1.12 )
[Compare Source](https://togithub.com/unicode-rs/unicode-width/compare/v0.1.11...v0.1.12 )
</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
2024-05-01 15:14:21 +00:00
renovate[bot]
4570c94d54
chore(deps): update compatible
2024-05-01 15:09:07 +00:00
bors
6fc9e4b9a1
Auto merge of #13805 - Muscraft:im-a-teapot-lint-unstable, r=epage
...
Error when unstable lints are specified but not enabled
In [#13797 , it was noted that](https://github.com/rust-lang/cargo/pull/13797#discussion_r1578162057 ) the `im-a-teapot` lint should always be unstable. This PR makes it so that `im-a-teapot` is unstable, and it is an error to specify it without the `test-dummy-unstable` cargo feature.
It does this by adding a `feature-gate` field to `Lint` and `LintGroup` that optionally
puts the lint/lint group behind a feature. The `feature-gate` is then checked during the new `analyze_cargo_lints_table` step that runs across all lints (and groups) specified in `[lints.cargo]` or `[workspace.lints]` if the package is inheriting its lints from a workspace.
The error looks like the following:
No inherit

Inherited

2024-05-01 13:59:51 +00:00
Urgau
388a17f23f
Update regular tests for always-on check-cfg
2024-05-01 12:56:04 +02:00
Urgau
60a5026885
Adjust documentation for newly stabilized -Zcheck-cfg
2024-05-01 12:56:04 +02:00