1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright © 2026 Michael Shields
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
:
# Override to pin to a specific nightly date (e.g. nightly-2026-04-12) when a
# bleeding-edge nightly destabilises llvm-cov instrumentation.
NIGHTLY ?=
# Override to swap the Markdown formatter front-end (e.g. PRETTIER='npx --yes
# prettier' in CI where bun is not installed).
PRETTIER ?=
:
:
:
:
:
# cargo-llvm-cov auto-sets cfg(coverage_nightly) on nightly; passing --cfg
# explicitly is rejected. Do not add --cfg coverage_nightly here.
#
# The 100% gate is on *production* code. Integration-test files under tests/
# (the generative property/differential harness) are excluded from the report
# via --ignore-filename-regex: they still run and exercise src/, but their own
# lines aren't held to the line gate — a random generator can't be expected to
# execute every branch on a fixed seed. Inline `#[cfg(test)]` modules in src/
# stay measured (they're deterministic and already fully covered). The heaviest
# generators additionally gate themselves out of the coverage *build* with
# `#![cfg(not(coverage_nightly))]` to keep the pre-commit hook fast.
:
:
:
# Publish to crates.io. The committed Cargo.toml omits `version` and `publish`;
# `gitcalver prepare-publish` injects both into a throwaway copy of HEAD so the
# source tree stays version-less. Requires `gitcalver` on PATH
# (`cargo install gitcalver`). Refuses a dirty tree or off-(default-)branch HEAD.
: