A parameter vector that reads a name as a type is to be warned at, the type winning

This commit is contained in:
Joseph Ferano 2026-09-25 09:56:33 +07:00
parent 9650f331d6
commit 16d04cbb49

View File

@ -837,7 +837,8 @@ Already fixed by 3672da2, which blames the arm that is not a compiler temp; the
caret is on the last operand and =test/test_flan.ml= asserts its column. Rules
out relabelling the else arm, a bool sentinel, and inverting the condition.
** TODO Signature pairing's cold-rebuild edge
** NEXT Signature pairing's cold-rebuild edge
Decided 2026-09-25: the type takes precedence, as today. The warning is at the parameter site: where a name in a parameter vector is read as a program-declared type but could also have been read as a parameter name, the parameter vector gets a warning naming the type and where it is declared.
Whether a parameter vector reads as one annotated parameter or two dyn ones
depends on what type names exist, so adding a type can silently re-pair an
existing signature between compiles. A changed-pairing warning was proposed and