#!/bin/sh
# SPDX-License-Identifier: LGPL-2.1-or-later
# Copyright (C) Jarkko Sakkinen 2026

set -eu

forbidden='#\[allow\(|#\[cfg\(test\)\]|#\[test\]|macro_rules!|\.(expect|expect_err|unwrap|unwrap_err|unwrap_unchecked)\(|(^|[^[:alnum:]_])(panic|unreachable|todo|unimplemented|assert|assert_eq|assert_ne|debug_assert|debug_assert_eq|debug_assert_ne)!'

if matches=$(git grep -n -E "$forbidden" -- 'src/*.rs' 'src/**/*.rs'); then
    printf '%s\n' 'forbidden Rust source construct:' >&2
    printf '%s\n' "$matches" >&2
    exit 1
fi
