iter mq.3: retire MethodNameCollision + multi-class E2E + DESIGN.md sync
Closes the module-qualified-class-names milestone. Deletes the workspace-load workaround; the two-libraries case now resolves via type-driven dispatch at the call site with explicit qualifier as the LLM-author's disambiguation tool. Resolves both mq.2 known-debt items (active_declared_constraints plumbing, (class,method) re-key). New synth warnings channel emits class-method-shadowed-by-fn at all three fn-precedence branches per spec section Class-fn collisions. Three new E2E fixtures + integration tests cover the ambiguous, qualified, and class-fn-shadow trajectories. DESIGN.md class-names paragraph rewritten, new section Method dispatch added. Roadmap P2 marked done, milestone-24 unblocked for re-brainstorm. 9/9 tasks. 545 tests green. bench/compile_check.py + cross_lang.py exit 0; bench/check.py exit 1 (2 noise-class regressions, runtime uncoupled to typecheck iter).
This commit is contained in:
@@ -1198,25 +1198,6 @@ fn workspace_error_to_diagnostic(
|
||||
"var": var,
|
||||
})),
|
||||
),
|
||||
W::MethodNameCollision {
|
||||
method,
|
||||
kind,
|
||||
first_origin,
|
||||
second_origin,
|
||||
} => Some(
|
||||
ailang_check::Diagnostic::error(
|
||||
"method-name-collision",
|
||||
format!(
|
||||
"method name `{method}` collides ({kind}): defined in `{first_origin}` and `{second_origin}`"
|
||||
),
|
||||
)
|
||||
.with_ctx(serde_json::json!({
|
||||
"method": method,
|
||||
"kind": kind,
|
||||
"first_origin": first_origin,
|
||||
"second_origin": second_origin,
|
||||
})),
|
||||
),
|
||||
W::MissingSuperclassInstance {
|
||||
class,
|
||||
superclass,
|
||||
|
||||
Reference in New Issue
Block a user