derive_destructure2 0.1.3

Destructure structs that implement Drop
Documentation
name: Rust

env:
  CARGO_TERM_COLOR: always

on:
  push:
    paths-ignore:
      - 'README.md'
      - 'LICENSE'
      - '.gitignore'
  pull_request:
    paths-ignore:
      - 'README.md'
      - 'LICENSE'
      - '.gitignore'

jobs:
  check:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ github.event.repository.name }}-${{ runner.os }}-cargo-check-v2
    - name: Run check
      run: |
        cargo check --all
        cargo clippy --all

  check_format:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Check format
      run: cargo fmt --all -- --check

  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4
    - name: Install latest nightly
      uses: actions-rs/toolchain@v1
      with:
          toolchain: nightly
          override: true
          components: miri
    - uses: actions/cache@v3
      with:
        path: |
          ~/.cargo/bin/
          ~/.cargo/registry/index/
          ~/.cargo/registry/cache/
          ~/.cargo/git/db/
          target/
        key: ${{ github.event.repository.name }}-${{ runner.os }}-cargo-test-v2
    - name: Run tests
      run: |
        cargo test
        cargo +nightly miri test