fashex 0.1.0

Hexadecimal string encoding and decoding with best-effort SIMD acceleration.
Documentation
# just manual: https://github.com/casey/just#readme

_default:
	just --list

# Generate code coverage report
ci *args:
	#!/bin/bash -eux
	cargo +nightly llvm-cov nextest --no-report --locked
	cargo +nightly llvm-cov --no-report --doc --locked
	cargo +nightly llvm-cov report --doctests --lcov --output-path coverage.lcov --ignore-filename-regex fuzz

# =========== LOCAL COMMANDS ===========

check *args:
	#!/bin/bash -eux
	cargo +nightly check --locked --all-features {{args}}
	cargo +1.89.0 check --locked --all-features {{args}}

clippy *args:
	#!/bin/bash -eux
	cargo +nightly clippy --locked --all-features {{args}}
	# cargo +1.89.0 clippy --locked --all-features {{args}}

test *args:
	#!/bin/bash -eux
	export RUST_BACKTRACE=1
	cargo +nightly nextest run --locked {{args}} --all-features
	cargo +nightly test --doc --locked {{args}} --all-features
	cargo +nightly nextest run --locked {{args}} --no-default-features
	# cargo +nightly test --doc --locked {{args}} --no-default-features # doctest needs alloc
	cargo +nightly nextest run --locked {{args}} --no-default-features --features alloc
	cargo +nightly test --doc --locked {{args}} --no-default-features --features alloc
	cargo +nightly nextest run --locked {{args}} --no-default-features --features std
	cargo +nightly test --doc --locked {{args}} --no-default-features --features std
	cargo +nightly nextest run --locked {{args}} --no-default-features --features runtime-cpu-detection
	# cargo +nightly test --doc --locked {{args}} --no-default-features --features runtime-cpu-detection # doctest needs alloc
	cargo +nightly nextest run --locked {{args}} --no-default-features --features std,runtime-cpu-detection
	cargo +nightly test --doc --locked {{args}} --no-default-features --features std,runtime-cpu-detection
	cargo +1.89.0 nextest run --locked {{args}} --no-default-features
	# cargo +1.89.0 test --doc --locked {{args}} --no-default-features # doctest needs alloc
	cargo +1.89.0 nextest run --locked {{args}} --no-default-features --features alloc
	cargo +1.89.0 test --doc --locked {{args}} --no-default-features --features alloc
	cargo +1.89.0 nextest run --locked {{args}} --no-default-features --features std
	cargo +1.89.0 test --doc --locked {{args}} --no-default-features --features std
	cargo +1.89.0 nextest run --locked {{args}} --no-default-features --features runtime-cpu-detection
	# cargo +1.89.0 test --doc --locked {{args}} --no-default-features --features runtime-cpu-detection # doctest needs alloc
	cargo +1.89.0 nextest run --locked {{args}} --no-default-features --features std,runtime-cpu-detection
	cargo +1.89.0 test --doc --locked {{args}} --no-default-features --features std,runtime-cpu-detection

miri *args:
	#!/bin/bash -eux
	export RUST_BACKTRACE=1
	export MIRIFLAGS="-Zmiri-backtrace=full ${MIRIFLAGS:-}"
	cargo +nightly miri nextest run --all-features {{args}}

coverage:
	#!/bin/bash -eux
	cargo +nightly llvm-cov nextest --all-features --no-report --locked
	cargo +nightly llvm-cov --all-features --no-report --doc --locked
	cargo +nightly llvm-cov report --doctests --html --output-dir coverage --ignore-filename-regex fuzz