funcfmt 0.3.0

"Parse once, populate many" templating using function traits
Documentation
env:
  PROPTEST_DISABLE_FAILURE_PERSISTENCE: "true"

jobs:
  test:
    name: Test
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable

      - run: cargo test --release --all-features --all
      - run: cargo build --release --all-features

  fmt:
    name: rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo fmt --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo clippy --all-targets -- -D warnings

  miri:
    name: Miri
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Miri
        run: |
          MIRI_NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)
          rustup default "$MIRI_NIGHTLY"
          rustup component add miri
      # -Zmiri-disable-isolation: https://github.com/proptest-rs/proptest/issues/253
      # PROPTEST_CASES=8: Miri is several thousand times slower than normal, we can't afford to do the default 256
      - run: PROPTEST_CASES=8 MIRIFLAGS=-Zmiri-disable-isolation cargo miri test

on:
  push:
  pull_request:
  workflow_dispatch: