2023-03-29 15:33:22 -04:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
2021-07-01 16:45:56 -04:00
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- master
|
2023-03-29 15:33:22 -04:00
|
|
|
|
|
|
|
env:
|
|
|
|
RUST_BACKTRACE: 1
|
|
|
|
CARGO_TERM_COLOR: always
|
|
|
|
CLICOLOR: 1
|
2024-02-07 16:53:09 -05:00
|
|
|
COLUMNS: 130
|
2023-03-29 15:33:22 -04:00
|
|
|
|
2024-01-18 10:22:25 -05:00
|
|
|
concurrency:
|
|
|
|
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
2021-07-01 16:45:56 -04:00
|
|
|
jobs:
|
2021-08-16 12:23:25 -04:00
|
|
|
ci:
|
2023-03-29 15:33:22 -04:00
|
|
|
permissions:
|
|
|
|
contents: none
|
2021-08-16 12:23:25 -04:00
|
|
|
name: CI
|
2024-07-26 17:08:28 -04:00
|
|
|
needs: [test, msrv, lockfile, docs, rustfmt, clippy]
|
2021-08-16 12:23:25 -04:00
|
|
|
runs-on: ubuntu-latest
|
2024-04-01 12:36:58 -04:00
|
|
|
if: "always()"
|
2021-08-16 12:23:25 -04:00
|
|
|
steps:
|
2024-04-01 12:36:58 -04:00
|
|
|
- name: Failed
|
|
|
|
run: exit 1
|
|
|
|
if: "contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped')"
|
2021-07-01 16:45:56 -04:00
|
|
|
test:
|
|
|
|
name: Test
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2024-06-21 14:21:41 -04:00
|
|
|
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
|
2021-07-07 16:38:16 -04:00
|
|
|
rust: ["stable"]
|
2021-07-01 16:45:56 -04:00
|
|
|
continue-on-error: ${{ matrix.rust != 'stable' }}
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2023-09-30 23:30:16 -04:00
|
|
|
uses: actions/checkout@v4
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Install Rust
|
2023-03-29 15:33:22 -04:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2021-07-01 16:45:56 -04:00
|
|
|
with:
|
|
|
|
toolchain: ${{ matrix.rust }}
|
2024-01-03 09:29:34 -05:00
|
|
|
components: rustfmt
|
2022-12-01 12:54:48 -05:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
2024-03-28 10:57:23 -04:00
|
|
|
- uses: taiki-e/install-action@cargo-hack
|
2022-02-15 14:31:29 -05:00
|
|
|
- name: Build
|
2024-01-03 09:27:59 -05:00
|
|
|
run: cargo test --workspace --no-run
|
2024-03-28 10:57:23 -04:00
|
|
|
- name: Test
|
|
|
|
run: cargo hack test --feature-powerset --workspace
|
2021-07-01 16:45:56 -04:00
|
|
|
msrv:
|
2024-02-15 10:58:01 -05:00
|
|
|
name: "Check MSRV"
|
2021-07-01 16:45:56 -04:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2023-09-30 23:30:16 -04:00
|
|
|
uses: actions/checkout@v4
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Install Rust
|
2023-03-29 15:33:22 -04:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2021-07-01 16:45:56 -04:00
|
|
|
with:
|
2024-02-15 10:58:01 -05:00
|
|
|
toolchain: stable
|
2022-12-01 12:54:48 -05:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
2024-02-15 10:58:01 -05:00
|
|
|
- uses: taiki-e/install-action@cargo-hack
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Default features
|
2024-03-28 10:57:23 -04:00
|
|
|
run: cargo hack check --feature-powerset --locked --rust-version --ignore-private --workspace --all-targets
|
2023-08-07 17:16:17 -04:00
|
|
|
lockfile:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2023-09-30 23:30:16 -04:00
|
|
|
uses: actions/checkout@v4
|
2023-08-07 17:16:17 -04:00
|
|
|
- name: Install Rust
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
|
|
|
toolchain: stable
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
|
|
- name: "Is lockfile updated?"
|
2024-03-28 10:53:02 -04:00
|
|
|
run: cargo update --workspace --locked
|
2021-07-01 16:45:56 -04:00
|
|
|
docs:
|
|
|
|
name: Docs
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2023-09-30 23:30:16 -04:00
|
|
|
uses: actions/checkout@v4
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Install Rust
|
2023-03-29 15:33:22 -04:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2021-07-01 16:45:56 -04:00
|
|
|
with:
|
chore(deps): Update Rust Stable to v1.80 (#1064)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust) | minor | `1.79` ->
`1.80` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.80`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1800-2024-07-25)
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.79.0...1.80.0)
\==========================
<a id="1.80-Language"></a>
## Language
- [Document maximum allocation
size](https://togithub.com/rust-lang/rust/pull/116675/)
- [Allow zero-byte offsets and ZST read/writes on arbitrary
pointers](https://togithub.com/rust-lang/rust/pull/117329/)
- [Support C23's variadics without a named
parameter](https://togithub.com/rust-lang/rust/pull/124048/)
- [Stabilize `exclusive_range_pattern`
feature](https://togithub.com/rust-lang/rust/pull/124459/)
- [Guarantee layout and ABI of `Result` in some
scenarios](https://togithub.com/rust-lang/rust/pull/124870)
<a id="1.80-Compiler"></a>
## Compiler
- [Update cc crate to v1.0.97 allowing additional spectre mitigations on
MSVC targets](https://togithub.com/rust-lang/rust/pull/124892/)
- [Allow field reordering on types marked
`repr(packed(1))`](https://togithub.com/rust-lang/rust/pull/125360/)
- [Add a lint against never type fallback affecting unsafe
code](https://togithub.com/rust-lang/rust/pull/123939/)
- [Disallow cast with trailing braced macro in
let-else](https://togithub.com/rust-lang/rust/pull/125049/)
- [Expand `for_loops_over_fallibles` lint to lint on fallibles behind
references.](https://togithub.com/rust-lang/rust/pull/125156/)
- [self-contained linker: retry linking without `-fuse-ld=lld` on CCs
that don't support it](https://togithub.com/rust-lang/rust/pull/125417/)
- [Do not parse CVarArgs (`...`) as a type in trait
bounds](https://togithub.com/rust-lang/rust/pull/125863/)
- Improvements to LLDB formatting
[#​124458](https://togithub.com/rust-lang/rust/pull/124458)
[#​124500](https://togithub.com/rust-lang/rust/pull/124500)
- [For the wasm32-wasip2 target default to PIC and do not use
`-fuse-ld=lld`](https://togithub.com/rust-lang/rust/pull/124858/)
- [Add x86\_64-unknown-linux-none as a tier 3
target](https://togithub.com/rust-lang/rust/pull/125023/)
- [Lint on `foo.into_iter()` resolving to `&Box<[T]>:
IntoIterator`](https://togithub.com/rust-lang/rust/pull/124097/)
<a id="1.80-Libraries"></a>
## Libraries
- [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to
the prelude](https://togithub.com/rust-lang/rust/pull/123168/)
- [Abort a process when FD ownership is
violated](https://togithub.com/rust-lang/rust/pull/124210/)
- [io::Write::write_fmt: panic if the formatter fails when the stream
does not fail](https://togithub.com/rust-lang/rust/pull/125012/)
- [Panic if `PathBuf::set_extension` would add a path
separator](https://togithub.com/rust-lang/rust/pull/125070/)
- [Add assert_unsafe_precondition to
unchecked\_{add,sub,neg,mul,shl,shr}
methods](https://togithub.com/rust-lang/rust/pull/121571/)
- [Update `c_char` on AIX to use the correct
type](https://togithub.com/rust-lang/rust/pull/122986/)
- [`offset_of!` no longer returns a
temporary](https://togithub.com/rust-lang/rust/pull/124484/)
- [Handle sigma in `str.to_lowercase`
correctly](https://togithub.com/rust-lang/rust/pull/124773/)
- [Raise `DEFAULT_MIN_STACK_SIZE` to at least
64KiB](https://togithub.com/rust-lang/rust/pull/126059/)
<a id="1.80-Stabilized-APIs"></a>
## Stabilized APIs
- [`impl Default for
Rc<CStr>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E)
- [`impl Default for
Rc<str>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E)
- [`impl Default for
Rc<[T]>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E)
- [`impl Default for
Arc<str>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E)
- [`impl Default for
Arc<CStr>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E)
- [`impl Default for
Arc<[T]>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E)
- [`impl IntoIterator for
Box<[T]>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E)
- [`impl FromIterator<String> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E)
- [`impl FromIterator<char> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E)
-
[`LazyCell`](https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html)
-
[`LazyLock`](https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html)
-
[`Duration::div_duration_f32`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32)
-
[`Duration::div_duration_f64`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64)
-
[`Option::take_if`](https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if)
-
[`Seek::seek_relative`](https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative)
-
[`BinaryHeap::as_slice`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice)
-
[`NonNull::offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset)
-
[`NonNull::byte_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset)
-
[`NonNull::add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add)
-
[`NonNull::byte_add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add)
-
[`NonNull::sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub)
-
[`NonNull::byte_sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub)
-
[`NonNull::offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from)
-
[`NonNull::byte_offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from)
-
[`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read)
-
[`NonNull::read_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile)
-
[`NonNull::read_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned)
-
[`NonNull::write`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write)
-
[`NonNull::write_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile)
-
[`NonNull::write_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned)
-
[`NonNull::write_bytes`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes)
-
[`NonNull::copy_to`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to)
-
[`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
-
[`NonNull::copy_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from)
-
[`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
-
[`NonNull::replace`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace)
-
[`NonNull::swap`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap)
-
[`NonNull::drop_in_place`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place)
-
[`NonNull::align_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset)
-
[`<[T]>::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked)
-
[`<[T]>::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked)
-
[`str::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked)
-
[`str::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked)
-
[`str::trim_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii)
-
[`str::trim_ascii_start`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start)
-
[`str::trim_ascii_end`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end)
-
[`<[u8]>::trim_ascii`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii)
-
[`<[u8]>::trim_ascii_start`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start)
-
[`<[u8]>::trim_ascii_end`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end)
-
[`Ipv4Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS)
-
[`Ipv4Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits)
-
[`Ipv4Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits)
-
[`Ipv6Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS)
-
[`Ipv6Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits)
-
[`Ipv6Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits)
- [`Vec::<[T;
N]>::into_flattened`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened)
- [`<[[T;
N]]>::as_flattened`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened)
- [`<[[T;
N]]>::as_flattened_mut`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut)
These APIs are now stable in const contexts:
-
[`<[T]>::last_chunk`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk)
-
[`BinaryHeap::new`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new)
<a id="1.80-Cargo"></a>
## Cargo
- [Stabilize `-Zcheck-cfg` as always
enabled](https://togithub.com/rust-lang/cargo/pull/13571/)
- [Warn, rather than fail publish, if a target is
excluded](https://togithub.com/rust-lang/cargo/pull/13713/)
- [Add special `check-cfg` lint config for the `unexpected_cfgs`
lint](https://togithub.com/rust-lang/cargo/pull/13913/)
- [Stabilize `cargo update --precise
<yanked>`](https://togithub.com/rust-lang/cargo/pull/13974/)
- [Don't change file permissions on `Cargo.toml` when using `cargo
add`](https://togithub.com/rust-lang/cargo/pull/13898/)
- [Support using `cargo fix` on IPv6-only
networks](https://togithub.com/rust-lang/cargo/pull/13907/)
<a id="1.80-Rustdoc"></a>
## Rustdoc
- [Allow searching for
references](https://togithub.com/rust-lang/rust/pull/124148/)
- [Stabilize `custom_code_classes_in_docs`
feature](https://togithub.com/rust-lang/rust/pull/124577/)
- [fix: In cross-crate scenarios show enum variants on type aliases of
enums](https://togithub.com/rust-lang/rust/pull/125300/)
<a id="1.80-Compatibility-Notes"></a>
## Compatibility Notes
- [rustfmt estimates line lengths differently when using non-ascii
characters](https://togithub.com/rust-lang/rustfmt/issues/6203)
- [Type aliases are now handled correctly in orphan
check](https://togithub.com/rust-lang/rust/pull/117164/)
- [Allow instructing rustdoc to read from stdin via
`-`](https://togithub.com/rust-lang/rust/pull/124611/)
- [`std::env::{set_var, remove_var}` can no longer be converted to safe
function pointers and no longer implement the `Fn` family of
traits](https://togithub.com/rust-lang/rust/pull/124636)
- [Warn (or error) when `Self` constructor from outer item is referenced
in inner nested item](https://togithub.com/rust-lang/rust/pull/124187/)
- [Turn `indirect_structural_match` and `pointer_structural_match` lints
into hard errors](https://togithub.com/rust-lang/rust/pull/124661/)
- [Make `where_clause_object_safety` lint a regular object safety
violation](https://togithub.com/rust-lang/rust/pull/125380/)
- [Turn `proc_macro_back_compat` lint into a hard
error.](https://togithub.com/rust-lang/rust/pull/125596/)
- [Detect unused structs even when implementing private
traits](https://togithub.com/rust-lang/rust/pull/122382/)
- [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T:
!Sync`](https://togithub.com/rust-lang/rust/pull/125527) which means
[`std::io::StdoutLock` and `std::io::StderrLock` are no longer
Sync](https://togithub.com/rust-lang/rust/issues/127340)
<a id="1.80-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.
- Misc improvements to size of generated html by rustdoc e.g.
[#​124738](https://togithub.com/rust-lang/rust/pull/124738/) and
[#​123734](https://togithub.com/rust-lang/rust/pull/123734/)
- [MSVC targets no longer depend on
libc](https://togithub.com/rust-lang/rust/pull/124050/)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/crate-ci/typos).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 19:58:00 -04:00
|
|
|
toolchain: "1.80" # STABLE
|
2022-12-01 12:54:48 -05:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Check documentation
|
|
|
|
env:
|
|
|
|
RUSTDOCFLAGS: -D warnings
|
2022-02-15 14:31:29 -05:00
|
|
|
run: cargo doc --workspace --all-features --no-deps --document-private-items
|
2021-07-01 16:45:56 -04:00
|
|
|
rustfmt:
|
|
|
|
name: rustfmt
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2023-09-30 23:30:16 -04:00
|
|
|
uses: actions/checkout@v4
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Install Rust
|
2023-03-29 15:33:22 -04:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2021-07-01 16:45:56 -04:00
|
|
|
with:
|
chore(deps): Update Rust Stable to v1.80 (#1064)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust) | minor | `1.79` ->
`1.80` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.80`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1800-2024-07-25)
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.79.0...1.80.0)
\==========================
<a id="1.80-Language"></a>
## Language
- [Document maximum allocation
size](https://togithub.com/rust-lang/rust/pull/116675/)
- [Allow zero-byte offsets and ZST read/writes on arbitrary
pointers](https://togithub.com/rust-lang/rust/pull/117329/)
- [Support C23's variadics without a named
parameter](https://togithub.com/rust-lang/rust/pull/124048/)
- [Stabilize `exclusive_range_pattern`
feature](https://togithub.com/rust-lang/rust/pull/124459/)
- [Guarantee layout and ABI of `Result` in some
scenarios](https://togithub.com/rust-lang/rust/pull/124870)
<a id="1.80-Compiler"></a>
## Compiler
- [Update cc crate to v1.0.97 allowing additional spectre mitigations on
MSVC targets](https://togithub.com/rust-lang/rust/pull/124892/)
- [Allow field reordering on types marked
`repr(packed(1))`](https://togithub.com/rust-lang/rust/pull/125360/)
- [Add a lint against never type fallback affecting unsafe
code](https://togithub.com/rust-lang/rust/pull/123939/)
- [Disallow cast with trailing braced macro in
let-else](https://togithub.com/rust-lang/rust/pull/125049/)
- [Expand `for_loops_over_fallibles` lint to lint on fallibles behind
references.](https://togithub.com/rust-lang/rust/pull/125156/)
- [self-contained linker: retry linking without `-fuse-ld=lld` on CCs
that don't support it](https://togithub.com/rust-lang/rust/pull/125417/)
- [Do not parse CVarArgs (`...`) as a type in trait
bounds](https://togithub.com/rust-lang/rust/pull/125863/)
- Improvements to LLDB formatting
[#​124458](https://togithub.com/rust-lang/rust/pull/124458)
[#​124500](https://togithub.com/rust-lang/rust/pull/124500)
- [For the wasm32-wasip2 target default to PIC and do not use
`-fuse-ld=lld`](https://togithub.com/rust-lang/rust/pull/124858/)
- [Add x86\_64-unknown-linux-none as a tier 3
target](https://togithub.com/rust-lang/rust/pull/125023/)
- [Lint on `foo.into_iter()` resolving to `&Box<[T]>:
IntoIterator`](https://togithub.com/rust-lang/rust/pull/124097/)
<a id="1.80-Libraries"></a>
## Libraries
- [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to
the prelude](https://togithub.com/rust-lang/rust/pull/123168/)
- [Abort a process when FD ownership is
violated](https://togithub.com/rust-lang/rust/pull/124210/)
- [io::Write::write_fmt: panic if the formatter fails when the stream
does not fail](https://togithub.com/rust-lang/rust/pull/125012/)
- [Panic if `PathBuf::set_extension` would add a path
separator](https://togithub.com/rust-lang/rust/pull/125070/)
- [Add assert_unsafe_precondition to
unchecked\_{add,sub,neg,mul,shl,shr}
methods](https://togithub.com/rust-lang/rust/pull/121571/)
- [Update `c_char` on AIX to use the correct
type](https://togithub.com/rust-lang/rust/pull/122986/)
- [`offset_of!` no longer returns a
temporary](https://togithub.com/rust-lang/rust/pull/124484/)
- [Handle sigma in `str.to_lowercase`
correctly](https://togithub.com/rust-lang/rust/pull/124773/)
- [Raise `DEFAULT_MIN_STACK_SIZE` to at least
64KiB](https://togithub.com/rust-lang/rust/pull/126059/)
<a id="1.80-Stabilized-APIs"></a>
## Stabilized APIs
- [`impl Default for
Rc<CStr>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E)
- [`impl Default for
Rc<str>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E)
- [`impl Default for
Rc<[T]>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E)
- [`impl Default for
Arc<str>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E)
- [`impl Default for
Arc<CStr>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E)
- [`impl Default for
Arc<[T]>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E)
- [`impl IntoIterator for
Box<[T]>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E)
- [`impl FromIterator<String> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E)
- [`impl FromIterator<char> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E)
-
[`LazyCell`](https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html)
-
[`LazyLock`](https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html)
-
[`Duration::div_duration_f32`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32)
-
[`Duration::div_duration_f64`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64)
-
[`Option::take_if`](https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if)
-
[`Seek::seek_relative`](https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative)
-
[`BinaryHeap::as_slice`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice)
-
[`NonNull::offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset)
-
[`NonNull::byte_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset)
-
[`NonNull::add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add)
-
[`NonNull::byte_add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add)
-
[`NonNull::sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub)
-
[`NonNull::byte_sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub)
-
[`NonNull::offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from)
-
[`NonNull::byte_offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from)
-
[`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read)
-
[`NonNull::read_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile)
-
[`NonNull::read_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned)
-
[`NonNull::write`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write)
-
[`NonNull::write_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile)
-
[`NonNull::write_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned)
-
[`NonNull::write_bytes`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes)
-
[`NonNull::copy_to`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to)
-
[`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
-
[`NonNull::copy_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from)
-
[`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
-
[`NonNull::replace`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace)
-
[`NonNull::swap`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap)
-
[`NonNull::drop_in_place`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place)
-
[`NonNull::align_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset)
-
[`<[T]>::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked)
-
[`<[T]>::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked)
-
[`str::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked)
-
[`str::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked)
-
[`str::trim_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii)
-
[`str::trim_ascii_start`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start)
-
[`str::trim_ascii_end`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end)
-
[`<[u8]>::trim_ascii`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii)
-
[`<[u8]>::trim_ascii_start`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start)
-
[`<[u8]>::trim_ascii_end`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end)
-
[`Ipv4Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS)
-
[`Ipv4Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits)
-
[`Ipv4Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits)
-
[`Ipv6Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS)
-
[`Ipv6Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits)
-
[`Ipv6Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits)
- [`Vec::<[T;
N]>::into_flattened`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened)
- [`<[[T;
N]]>::as_flattened`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened)
- [`<[[T;
N]]>::as_flattened_mut`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut)
These APIs are now stable in const contexts:
-
[`<[T]>::last_chunk`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk)
-
[`BinaryHeap::new`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new)
<a id="1.80-Cargo"></a>
## Cargo
- [Stabilize `-Zcheck-cfg` as always
enabled](https://togithub.com/rust-lang/cargo/pull/13571/)
- [Warn, rather than fail publish, if a target is
excluded](https://togithub.com/rust-lang/cargo/pull/13713/)
- [Add special `check-cfg` lint config for the `unexpected_cfgs`
lint](https://togithub.com/rust-lang/cargo/pull/13913/)
- [Stabilize `cargo update --precise
<yanked>`](https://togithub.com/rust-lang/cargo/pull/13974/)
- [Don't change file permissions on `Cargo.toml` when using `cargo
add`](https://togithub.com/rust-lang/cargo/pull/13898/)
- [Support using `cargo fix` on IPv6-only
networks](https://togithub.com/rust-lang/cargo/pull/13907/)
<a id="1.80-Rustdoc"></a>
## Rustdoc
- [Allow searching for
references](https://togithub.com/rust-lang/rust/pull/124148/)
- [Stabilize `custom_code_classes_in_docs`
feature](https://togithub.com/rust-lang/rust/pull/124577/)
- [fix: In cross-crate scenarios show enum variants on type aliases of
enums](https://togithub.com/rust-lang/rust/pull/125300/)
<a id="1.80-Compatibility-Notes"></a>
## Compatibility Notes
- [rustfmt estimates line lengths differently when using non-ascii
characters](https://togithub.com/rust-lang/rustfmt/issues/6203)
- [Type aliases are now handled correctly in orphan
check](https://togithub.com/rust-lang/rust/pull/117164/)
- [Allow instructing rustdoc to read from stdin via
`-`](https://togithub.com/rust-lang/rust/pull/124611/)
- [`std::env::{set_var, remove_var}` can no longer be converted to safe
function pointers and no longer implement the `Fn` family of
traits](https://togithub.com/rust-lang/rust/pull/124636)
- [Warn (or error) when `Self` constructor from outer item is referenced
in inner nested item](https://togithub.com/rust-lang/rust/pull/124187/)
- [Turn `indirect_structural_match` and `pointer_structural_match` lints
into hard errors](https://togithub.com/rust-lang/rust/pull/124661/)
- [Make `where_clause_object_safety` lint a regular object safety
violation](https://togithub.com/rust-lang/rust/pull/125380/)
- [Turn `proc_macro_back_compat` lint into a hard
error.](https://togithub.com/rust-lang/rust/pull/125596/)
- [Detect unused structs even when implementing private
traits](https://togithub.com/rust-lang/rust/pull/122382/)
- [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T:
!Sync`](https://togithub.com/rust-lang/rust/pull/125527) which means
[`std::io::StdoutLock` and `std::io::StderrLock` are no longer
Sync](https://togithub.com/rust-lang/rust/issues/127340)
<a id="1.80-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.
- Misc improvements to size of generated html by rustdoc e.g.
[#​124738](https://togithub.com/rust-lang/rust/pull/124738/) and
[#​123734](https://togithub.com/rust-lang/rust/pull/123734/)
- [MSVC targets no longer depend on
libc](https://togithub.com/rust-lang/rust/pull/124050/)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/crate-ci/typos).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 19:58:00 -04:00
|
|
|
toolchain: "1.80" # STABLE
|
2021-07-01 16:45:56 -04:00
|
|
|
components: rustfmt
|
2022-12-01 12:54:48 -05:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Check formatting
|
|
|
|
run: cargo fmt --all -- --check
|
|
|
|
clippy:
|
|
|
|
name: clippy
|
|
|
|
runs-on: ubuntu-latest
|
2023-03-29 15:33:22 -04:00
|
|
|
permissions:
|
|
|
|
security-events: write # to upload sarif results
|
2021-07-01 16:45:56 -04:00
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
2023-09-30 23:30:16 -04:00
|
|
|
uses: actions/checkout@v4
|
2021-07-01 16:45:56 -04:00
|
|
|
- name: Install Rust
|
2023-03-29 15:33:22 -04:00
|
|
|
uses: dtolnay/rust-toolchain@stable
|
2021-07-01 16:45:56 -04:00
|
|
|
with:
|
chore(deps): Update Rust Stable to v1.80 (#1064)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [STABLE](https://togithub.com/rust-lang/rust) | minor | `1.79` ->
`1.80` |
---
### Release Notes
<details>
<summary>rust-lang/rust (STABLE)</summary>
###
[`v1.80`](https://togithub.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1800-2024-07-25)
[Compare
Source](https://togithub.com/rust-lang/rust/compare/1.79.0...1.80.0)
\==========================
<a id="1.80-Language"></a>
## Language
- [Document maximum allocation
size](https://togithub.com/rust-lang/rust/pull/116675/)
- [Allow zero-byte offsets and ZST read/writes on arbitrary
pointers](https://togithub.com/rust-lang/rust/pull/117329/)
- [Support C23's variadics without a named
parameter](https://togithub.com/rust-lang/rust/pull/124048/)
- [Stabilize `exclusive_range_pattern`
feature](https://togithub.com/rust-lang/rust/pull/124459/)
- [Guarantee layout and ABI of `Result` in some
scenarios](https://togithub.com/rust-lang/rust/pull/124870)
<a id="1.80-Compiler"></a>
## Compiler
- [Update cc crate to v1.0.97 allowing additional spectre mitigations on
MSVC targets](https://togithub.com/rust-lang/rust/pull/124892/)
- [Allow field reordering on types marked
`repr(packed(1))`](https://togithub.com/rust-lang/rust/pull/125360/)
- [Add a lint against never type fallback affecting unsafe
code](https://togithub.com/rust-lang/rust/pull/123939/)
- [Disallow cast with trailing braced macro in
let-else](https://togithub.com/rust-lang/rust/pull/125049/)
- [Expand `for_loops_over_fallibles` lint to lint on fallibles behind
references.](https://togithub.com/rust-lang/rust/pull/125156/)
- [self-contained linker: retry linking without `-fuse-ld=lld` on CCs
that don't support it](https://togithub.com/rust-lang/rust/pull/125417/)
- [Do not parse CVarArgs (`...`) as a type in trait
bounds](https://togithub.com/rust-lang/rust/pull/125863/)
- Improvements to LLDB formatting
[#​124458](https://togithub.com/rust-lang/rust/pull/124458)
[#​124500](https://togithub.com/rust-lang/rust/pull/124500)
- [For the wasm32-wasip2 target default to PIC and do not use
`-fuse-ld=lld`](https://togithub.com/rust-lang/rust/pull/124858/)
- [Add x86\_64-unknown-linux-none as a tier 3
target](https://togithub.com/rust-lang/rust/pull/125023/)
- [Lint on `foo.into_iter()` resolving to `&Box<[T]>:
IntoIterator`](https://togithub.com/rust-lang/rust/pull/124097/)
<a id="1.80-Libraries"></a>
## Libraries
- [Add `size_of` and `size_of_val` and `align_of` and `align_of_val` to
the prelude](https://togithub.com/rust-lang/rust/pull/123168/)
- [Abort a process when FD ownership is
violated](https://togithub.com/rust-lang/rust/pull/124210/)
- [io::Write::write_fmt: panic if the formatter fails when the stream
does not fail](https://togithub.com/rust-lang/rust/pull/125012/)
- [Panic if `PathBuf::set_extension` would add a path
separator](https://togithub.com/rust-lang/rust/pull/125070/)
- [Add assert_unsafe_precondition to
unchecked\_{add,sub,neg,mul,shl,shr}
methods](https://togithub.com/rust-lang/rust/pull/121571/)
- [Update `c_char` on AIX to use the correct
type](https://togithub.com/rust-lang/rust/pull/122986/)
- [`offset_of!` no longer returns a
temporary](https://togithub.com/rust-lang/rust/pull/124484/)
- [Handle sigma in `str.to_lowercase`
correctly](https://togithub.com/rust-lang/rust/pull/124773/)
- [Raise `DEFAULT_MIN_STACK_SIZE` to at least
64KiB](https://togithub.com/rust-lang/rust/pull/126059/)
<a id="1.80-Stabilized-APIs"></a>
## Stabilized APIs
- [`impl Default for
Rc<CStr>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3CCStr%3E)
- [`impl Default for
Rc<str>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3Cstr%3E)
- [`impl Default for
Rc<[T]>`](https://doc.rust-lang.org/beta/alloc/rc/struct.Rc.html#impl-Default-for-Rc%3C%5BT%5D%3E)
- [`impl Default for
Arc<str>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3Cstr%3E)
- [`impl Default for
Arc<CStr>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3CCStr%3E)
- [`impl Default for
Arc<[T]>`](https://doc.rust-lang.org/beta/alloc/sync/struct.Arc.html#impl-Default-for-Arc%3C%5BT%5D%3E)
- [`impl IntoIterator for
Box<[T]>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-IntoIterator-for-Box%3C%5BI%5D,+A%3E)
- [`impl FromIterator<String> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3CString%3E-for-Box%3Cstr%3E)
- [`impl FromIterator<char> for
Box<str>`](https://doc.rust-lang.org/beta/alloc/boxed/struct.Box.html#impl-FromIterator%3Cchar%3E-for-Box%3Cstr%3E)
-
[`LazyCell`](https://doc.rust-lang.org/beta/core/cell/struct.LazyCell.html)
-
[`LazyLock`](https://doc.rust-lang.org/beta/std/sync/struct.LazyLock.html)
-
[`Duration::div_duration_f32`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f32)
-
[`Duration::div_duration_f64`](https://doc.rust-lang.org/beta/std/time/struct.Duration.html#method.div_duration_f64)
-
[`Option::take_if`](https://doc.rust-lang.org/beta/std/option/enum.Option.html#method.take_if)
-
[`Seek::seek_relative`](https://doc.rust-lang.org/beta/std/io/trait.Seek.html#method.seek_relative)
-
[`BinaryHeap::as_slice`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.as_slice)
-
[`NonNull::offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset)
-
[`NonNull::byte_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset)
-
[`NonNull::add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.add)
-
[`NonNull::byte_add`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_add)
-
[`NonNull::sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.sub)
-
[`NonNull::byte_sub`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_sub)
-
[`NonNull::offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.offset_from)
-
[`NonNull::byte_offset_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.byte_offset_from)
-
[`NonNull::read`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read)
-
[`NonNull::read_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_volatile)
-
[`NonNull::read_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.read_unaligned)
-
[`NonNull::write`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write)
-
[`NonNull::write_volatile`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_volatile)
-
[`NonNull::write_unaligned`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_unaligned)
-
[`NonNull::write_bytes`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.write_bytes)
-
[`NonNull::copy_to`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to)
-
[`NonNull::copy_to_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_to_nonoverlapping)
-
[`NonNull::copy_from`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from)
-
[`NonNull::copy_from_nonoverlapping`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.copy_from_nonoverlapping)
-
[`NonNull::replace`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.replace)
-
[`NonNull::swap`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.swap)
-
[`NonNull::drop_in_place`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.drop_in_place)
-
[`NonNull::align_offset`](https://doc.rust-lang.org/beta/std/ptr/struct.NonNull.html#method.align_offset)
-
[`<[T]>::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_checked)
-
[`<[T]>::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.slice.html#method.split_at_mut_checked)
-
[`str::split_at_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_checked)
-
[`str::split_at_mut_checked`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.split_at_mut_checked)
-
[`str::trim_ascii`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii)
-
[`str::trim_ascii_start`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_start)
-
[`str::trim_ascii_end`](https://doc.rust-lang.org/beta/std/primitive.str.html#method.trim_ascii_end)
-
[`<[u8]>::trim_ascii`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii)
-
[`<[u8]>::trim_ascii_start`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_start)
-
[`<[u8]>::trim_ascii_end`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.trim_ascii_end)
-
[`Ipv4Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#associatedconstant.BITS)
-
[`Ipv4Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.to_bits)
-
[`Ipv4Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv4Addr.html#method.from_bits)
-
[`Ipv6Addr::BITS`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#associatedconstant.BITS)
-
[`Ipv6Addr::to_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.to_bits)
-
[`Ipv6Addr::from_bits`](https://doc.rust-lang.org/beta/core/net/struct.Ipv6Addr.html#method.from_bits)
- [`Vec::<[T;
N]>::into_flattened`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html#method.into_flattened)
- [`<[[T;
N]]>::as_flattened`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened)
- [`<[[T;
N]]>::as_flattened_mut`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.as_flattened_mut)
These APIs are now stable in const contexts:
-
[`<[T]>::last_chunk`](https://doc.rust-lang.org/beta/core/primitive.slice.html#method.last_chunk)
-
[`BinaryHeap::new`](https://doc.rust-lang.org/beta/std/collections/struct.BinaryHeap.html#method.new)
<a id="1.80-Cargo"></a>
## Cargo
- [Stabilize `-Zcheck-cfg` as always
enabled](https://togithub.com/rust-lang/cargo/pull/13571/)
- [Warn, rather than fail publish, if a target is
excluded](https://togithub.com/rust-lang/cargo/pull/13713/)
- [Add special `check-cfg` lint config for the `unexpected_cfgs`
lint](https://togithub.com/rust-lang/cargo/pull/13913/)
- [Stabilize `cargo update --precise
<yanked>`](https://togithub.com/rust-lang/cargo/pull/13974/)
- [Don't change file permissions on `Cargo.toml` when using `cargo
add`](https://togithub.com/rust-lang/cargo/pull/13898/)
- [Support using `cargo fix` on IPv6-only
networks](https://togithub.com/rust-lang/cargo/pull/13907/)
<a id="1.80-Rustdoc"></a>
## Rustdoc
- [Allow searching for
references](https://togithub.com/rust-lang/rust/pull/124148/)
- [Stabilize `custom_code_classes_in_docs`
feature](https://togithub.com/rust-lang/rust/pull/124577/)
- [fix: In cross-crate scenarios show enum variants on type aliases of
enums](https://togithub.com/rust-lang/rust/pull/125300/)
<a id="1.80-Compatibility-Notes"></a>
## Compatibility Notes
- [rustfmt estimates line lengths differently when using non-ascii
characters](https://togithub.com/rust-lang/rustfmt/issues/6203)
- [Type aliases are now handled correctly in orphan
check](https://togithub.com/rust-lang/rust/pull/117164/)
- [Allow instructing rustdoc to read from stdin via
`-`](https://togithub.com/rust-lang/rust/pull/124611/)
- [`std::env::{set_var, remove_var}` can no longer be converted to safe
function pointers and no longer implement the `Fn` family of
traits](https://togithub.com/rust-lang/rust/pull/124636)
- [Warn (or error) when `Self` constructor from outer item is referenced
in inner nested item](https://togithub.com/rust-lang/rust/pull/124187/)
- [Turn `indirect_structural_match` and `pointer_structural_match` lints
into hard errors](https://togithub.com/rust-lang/rust/pull/124661/)
- [Make `where_clause_object_safety` lint a regular object safety
violation](https://togithub.com/rust-lang/rust/pull/125380/)
- [Turn `proc_macro_back_compat` lint into a hard
error.](https://togithub.com/rust-lang/rust/pull/125596/)
- [Detect unused structs even when implementing private
traits](https://togithub.com/rust-lang/rust/pull/122382/)
- [`std::sync::ReentrantLockGuard<T>` is no longer `Sync` if `T:
!Sync`](https://togithub.com/rust-lang/rust/pull/125527) which means
[`std::io::StdoutLock` and `std::io::StderrLock` are no longer
Sync](https://togithub.com/rust-lang/rust/issues/127340)
<a id="1.80-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.
- Misc improvements to size of generated html by rustdoc e.g.
[#​124738](https://togithub.com/rust-lang/rust/pull/124738/) and
[#​123734](https://togithub.com/rust-lang/rust/pull/123734/)
- [MSVC targets no longer depend on
libc](https://togithub.com/rust-lang/rust/pull/124050/)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "* * * * *" (UTC), Automerge - At any
time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **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 was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/crate-ci/typos).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzguMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 19:58:00 -04:00
|
|
|
toolchain: "1.80" # STABLE
|
2021-07-01 16:45:56 -04:00
|
|
|
components: clippy
|
2022-12-01 12:54:48 -05:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
2023-03-29 15:33:22 -04:00
|
|
|
- name: Install SARIF tools
|
2024-03-28 10:50:22 -04:00
|
|
|
run: cargo install clippy-sarif --locked
|
2023-03-29 15:33:22 -04:00
|
|
|
- name: Install SARIF tools
|
2024-03-28 10:50:22 -04:00
|
|
|
run: cargo install sarif-fmt --locked
|
2023-03-29 15:33:22 -04:00
|
|
|
- name: Check
|
|
|
|
run: >
|
|
|
|
cargo clippy --workspace --all-features --all-targets --message-format=json -- -D warnings --allow deprecated
|
|
|
|
| clippy-sarif
|
|
|
|
| tee clippy-results.sarif
|
|
|
|
| sarif-fmt
|
|
|
|
continue-on-error: true
|
|
|
|
- name: Upload
|
2024-02-29 22:09:12 -05:00
|
|
|
uses: github/codeql-action/upload-sarif@v3
|
2021-07-01 16:45:56 -04:00
|
|
|
with:
|
2023-03-29 15:33:22 -04:00
|
|
|
sarif_file: clippy-results.sarif
|
|
|
|
wait-for-processing: true
|
2023-05-18 15:58:59 -04:00
|
|
|
- name: Report status
|
|
|
|
run: cargo clippy --workspace --all-features --all-targets -- -D warnings --allow deprecated
|
2024-02-08 08:48:29 -05:00
|
|
|
coverage:
|
|
|
|
name: Coverage
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Rust
|
|
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
with:
|
2024-02-08 10:07:52 -05:00
|
|
|
toolchain: stable
|
2024-02-08 08:48:29 -05:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
|
|
- name: Install cargo-tarpaulin
|
|
|
|
run: cargo install cargo-tarpaulin
|
|
|
|
- name: Gather coverage
|
|
|
|
run: cargo tarpaulin --output-dir coverage --out lcov
|
|
|
|
- name: Publish to Coveralls
|
|
|
|
uses: coverallsapp/github-action@master
|
|
|
|
with:
|
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|