dyn-slice 3.2.2

&dyn [Trait] implementation, inspired by a Reddit thread.
Documentation
name: Rust

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

env:
  CARGO_TERM_COLOR: always

jobs:

  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Clippy
      run: |
        cargo clippy --all-targets
        cargo clippy --all-targets --all-features
        cargo clippy --no-default-features
        cargo clippy --no-default-features --features="alloc"
        cargo clippy --all-features -- -W clippy::unwrap_used -W clippy::expect_used
    - name: Build
      run: |
        cargo build --verbose
        cargo build --verbose --all-features
        cargo build --verbose --no-default-features
        cargo build --verbose --no-default-features --features="alloc"
    - name: Run tests
      run: |
        cargo test
        cargo test --all-features
        cargo test --examples

  miri:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - name: Install Miri
        run: |
          rustup toolchain install nightly --component miri
          rustup override set nightly
          cargo miri setup
      - name: Test with Miri
        run: cargo miri test --all-targets -- --skip compile_fail_tests