#!/bin/bash
# shellcheck disable=SC2046
## checks with 'cargo +nighty miri test', backgrounds
## runs only when unsafe code is used and nightly miri is available
require git cargo
git_branch_matches "master" "main" "release.*" || return 0
is_cargo_project || return 0

cargo_toolchain_available +nightly || return 0
cargo_tool_installed +nightly miri || return 0
cargo_has_unsafe_code || return 0

git_hook_matches "pre-commit" "pre-merge-commit" "commit-msg" || return 0
git_hook_matches "pre-commit" "pre-merge-commit" && background_schedule && return 0
git_hook_matches "commit-msg" && background_wait && return $(background_result)

run_test cargo +nightly miri test
