iter ct.1.4-followup: type-con rewrite test + doc clarity

This commit is contained in:
2026-05-11 01:21:18 +02:00
parent d45977f9bb
commit a73f7d3213
2 changed files with 76 additions and 4 deletions
+15 -4
View File
@@ -228,10 +228,21 @@ enum Cmd {
/// ct.1 (dev-only): rewrite every `*.ail.json` under `<dir>` so
/// that bare cross-module `Type::Con` and `Term::Ctor.type_name`
/// references gain their owning module's qualifier. Idempotent.
/// Uses the first-match-in-imports-order disambiguation rule
/// (matches iter 23.1.3's imports-fallback) so the rewrite never
/// silently changes which type a fixture resolves to. Prelude is
/// treated as an implicit last-resort fallback.
///
/// Disambiguation: the first import (in declaration order) that
/// owns a matching type wins. Ties are NOT diagnosed — the
/// migration silently picks the first match. Prelude is consulted
/// as an implicit last-resort fallback when no listed import owns
/// the name.
///
/// Note: this is one-shot dev tooling and intentionally weaker
/// than the typecheck-time `ambiguous-type` diagnostic shipped in
/// iter 23.1.3, which fires through the type-checker on multi-
/// import collisions. The two are different rules at different
/// layers; do not assume parity. The expected usage is to run
/// the migration once on a fixture corpus that does not exhibit
/// genuine multi-import ambiguity, then let the typechecker
/// enforce the stricter rule going forward.
MigrateCanonicalTypes {
/// Directory containing `*.ail.json` to migrate (typically
/// `examples/`).