disjoint_impls 1.4.0

Support for mutually disjoint impls
Documentation
name: Rust

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

permissions:
  contents: read

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

jobs:
  static-analysis:
    runs-on: ubuntu-latest
    timeout-minutes: 5

    steps:
    - uses: actions/checkout@v7
    - uses: dtolnay/rust-toolchain@stable
      with:
        components: rustfmt, clippy
    - uses: Swatinem/rust-cache@v2

    - name: Check formatting
      run: cargo fmt --all --check

    - name: Lint workspace
      run: cargo clippy --workspace --benches --tests --examples -- --deny warnings

  test:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v7
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Run tests
      run: cargo test --workspace

  test-cfg-features:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v7
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Run cfg_test_crate with feat_a
      run: cargo test -p cfg_test_crate --features feat_a