proc-macro-error3 3.0.2

Almost drop-in replacement to panics in proc-macros
Documentation
# spell-checker: ignore nofile nocapture

prettier_bin := ```
    if command -V prettier 2>&1 | grep -q 'not found'; then
        echo -n npx prettier
    else
        echo -n prettier
    fi
    ```
cspell_bin := ```
    if command -V cspell 2>&1 | grep -q 'not found'; then
        echo -n npx cspell
    else
        echo -n cspell
    fi
    ```
msrv := '1.61.0'

# Check and fix format of rust files (Uses: 'cargo +nightly')
[group('formatting')]
fmt:
    cargo +nightly fmt --all

# Check and fix format of toml files (Uses: 'taplo')
[group('formatting')]
fmt-toml:
    taplo fmt

# Check and fix format of json and yaml files (Uses: 'prettier' or 'npx prettier')
[group('formatting')]
fmt-prettier:
    {{ prettier_bin }} --write .

# Run all fmt rules (Depends on: fmt, fmt-toml, fmt-prettier)
[group('formatting')]
fmt-all: fmt fmt-toml fmt-prettier

# Check format of rust files (Uses: 'cargo +nightly')
[group('formatting')]
check-fmt:
    cargo +nightly fmt --all --check

# Check format of toml files with `taplo` (Uses: 'taplo')
[group('formatting')]
check-fmt-toml:
    taplo fmt --check --verbose

# Check format of json and yaml files (Uses: 'prettier' or 'npx prettier')
[group('formatting')]
check-fmt-prettier:
    {{ prettier_bin }} --check --log-level warn .

# Check spelling with cspell (Uses: 'cspell' or 'npx cspell')
[group('formatting')]
check-spelling:
    {{ cspell_bin }} lint .

# Run all format checkers (Depends on: check-fmt, check-fmt-toml, check-fmt-prettier, check-spelling)
[group('formatting')]
check-fmt-all: check-fmt check-fmt-toml check-fmt-prettier check-spelling

# Run clippy (Uses: 'cargo +stable')
[group('lint')]
lint:
    cargo +stable clippy --features syn-error,__ui_tests --all-targets -- -D warnings
    cargo +nightly clippy --features nightly,syn-error,__ui_tests --all-targets -- -D warnings

# Check minimal supported Rust version (Uses: 'cargo +{{ msrv }}')
[group('lint')]
lint-msrv:
    cargo +{{ msrv }} check --all

# Run cargo deny check (Uses: 'cargo-deny')
[group('dependencies')]
deny +args='all':
    cargo deny check {{ args }}

# Generate and update Cargo.lock with cargo resolver v3 fallback (Uses: 'cargo +stable')
[group('dependencies')]
update-dependencies:
    CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=fallback cargo +stable update

# Check minimal version requirements of dependencies (Uses: 'cargo-minimal-versions')
[group('dependencies')]
minimal-versions:
    cargo minimal-versions check --workspace --all-targets --ignore-private --direct

# Build the workspace (Uses: 'cargo')
[group('build')]
build:
    cargo build --all

# Build the documentation (Uses: 'cargo')
[group('build')]
build-docs:
    DOCS_RS=1 cargo doc --no-deps --workspace --document-private-items
    DOCS_RS=1 cargo +nightly doc --features nightly --no-deps --workspace --document-private-items

# Run all tests (Uses: 'cargo')
[group('test')]
test:
    cargo test --all

# Run all tests with nightly features (Uses: 'cargo +nightly')
[group('test')]
test-nightly:
    cargo +nightly test --all --features nightly

# Run all doc tests (Uses: 'cargo')
[group('test')]
test-doc:
    DOCS_RS=1 cargo test --doc
    DOCS_RS=1 cargo +nightly test --features nightly --doc

# Run the UI tests (Uses: 'cargo +stable')
[group('test')]
test-ui:
    cargo +stable test --features __ui_tests ui

# Run the UI tests and overwrite the error message fixtures (Uses: 'cargo +stable')
[group('test')]
test-ui-overwrite:
    TRYBUILD=overwrite cargo +stable test --features __ui_tests ui

# Test all packages (Uses: 'cargo')
[group('test')]
test-all: test-ui test-nightly test-doc
    cargo test --all