Deduplicate Clone by always using match
and { }
#84
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: nightly | |
components: rustfmt | |
- uses: actions-rust-lang/rustfmt@v1 | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
components: clippy | |
- run: cargo clippy --all-targets --all-features -- -D warnings | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
toolchain: | |
- stable | |
- nightly | |
features: | |
- | |
- --no-default-features --features Debug | |
- --no-default-features --features Clone | |
- --no-default-features --features Copy | |
- --no-default-features --features Clone --features Copy | |
- --no-default-features --features PartialEq | |
- --no-default-features --features Eq | |
- --no-default-features --features PartialEq --features Eq | |
- --no-default-features --features PartialOrd | |
- --no-default-features --features Ord | |
- --no-default-features --features PartialOrd --features Ord | |
- --no-default-features --features Hash | |
- --no-default-features --features Default | |
- --no-default-features --features Deref | |
- --no-default-features --features DerefMut | |
- --no-default-features --features Deref --features DerefMut | |
- --no-default-features --features Into | |
name: Test ${{ matrix.toolchain }} on ${{ matrix.os }} (${{ matrix.features }}) | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
- run: cargo test ${{ matrix.features }} | |
- run: cargo doc ${{ matrix.features }} | |
MSRV: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
toolchain: | |
- "1.60" | |
features: | |
- | |
- --no-default-features --features Debug | |
- --no-default-features --features Clone | |
- --no-default-features --features Copy | |
- --no-default-features --features Clone --features Copy | |
- --no-default-features --features PartialEq | |
- --no-default-features --features Eq | |
- --no-default-features --features PartialEq --features Eq | |
- --no-default-features --features PartialOrd | |
- --no-default-features --features Ord | |
- --no-default-features --features PartialOrd --features Ord | |
- --no-default-features --features Hash | |
- --no-default-features --features Default | |
- --no-default-features --features Deref | |
- --no-default-features --features DerefMut | |
- --no-default-features --features Deref --features DerefMut | |
- --no-default-features --features Into | |
name: Test ${{ matrix.toolchain }} on ${{ matrix.os }} (${{ matrix.features }}) | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
- run: cargo test --lib --bins ${{ matrix.features }} |