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
// Copyright 2025 Umberto Gotti <umberto.gotti@umbertogotti.dev>
// Licensed under the MIT License
// SPDX-License-Identifier: MIT
// What one rule wants, said in the rule's own words: a sentence, a scrap of
// source that breaks it, and the same scrap put right.
//
// The rule answers for itself, the way it already answers `requirement`. The
// alternative -- a table in the printer mapping name to prose -- is a second
// idea of which rules exist, kept in step by hand, and it would fall out of
// date the first time a rule changed its mind without the table being told.
//
// `breaks` and `instead` are source rather than description because the
// question a reader arrives with is "what does this look like", and a sentence
// answering it is longer and less exact than two lines of Rust.