Commit 4f2d2d2
the refusal carries its code, because something reads it
The mcpp-index compatibility measurement distinguishes "this graph does not
supply what the member asked for" from "the member did not build" --- a
distinction that decides whether a member counts against a compatibility
figure --- and it was written to do so on the refusal code
`interface-not-provided`. That code reached no output: `refusal::record` is
read by `mcpp doctor` and by one branch of the build-database path, and a
`mcpp build` prints none of it. The consumer's judge could never fire.
The code is now printed in the diagnostic, the way E0006 is, and e2e 743
asserts it. A refusal that only a person can recognise forces every machine
consumer to match prose --- and prose that a package's own compile error could
coincidentally contain.
Found by running the consumer's own criterion against the engine rather than
reading it: a mechanism with no way to trigger is the defect class this whole
branch exists to remove, and it had one of its own.
Co-authored-by: Claude Code <noreply@anthropic.com>1 parent 9fca8e7 commit 4f2d2d2
2 files changed
Lines changed: 20 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11227 | 11227 | | |
11228 | 11228 | | |
11229 | 11229 | | |
| 11230 | + | |
| 11231 | + | |
| 11232 | + | |
| 11233 | + | |
| 11234 | + | |
| 11235 | + | |
| 11236 | + | |
| 11237 | + | |
| 11238 | + | |
11230 | 11239 | | |
11231 | 11240 | | |
11232 | | - | |
| 11241 | + | |
11233 | 11242 | | |
11234 | 11243 | | |
11235 | 11244 | | |
| |||
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
137 | 147 | | |
138 | 148 | | |
139 | 149 | | |
| |||
0 commit comments