iter ct.1.4-followup: type-con rewrite test + doc clarity
This commit is contained in:
+15
-4
@@ -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/`).
|
||||
|
||||
Reference in New Issue
Block a user