Brummel
0eb33235eb
iter mq.1: class-ref canonical-form extension + workspace-internal class-name qualification
...
Three schema fields move bare → canonical (bare for same-module,
<module>.<Class> for cross-module): InstanceDef.class,
Constraint.class, SuperclassRef.class. Symmetric to ct.1's
Type::Con.name rule. ClassDef.name stays bare.
validate_canonical_type_names gains three field-walks via new
check_class_ref helper + two sibling diagnostics
BareCrossModuleClassRef / BadCrossModuleClassRef.
check_class_name_fields narrowed to ClassDef.name-only.
Workspace-internal class-name keys all qualified:
class_def_module, class_by_name, registry entries.0,
ClassMethodEntry.class_name, class_superclasses, mono's
class_index, Origin::Class.class_name. New qualify_class_ref
helper at workspace.rs scope plus sibling
qualify_class_ref_in_check in ailang-check.
Two new positive on-disk fixtures (mq1_xmod_constraint_class{,_dep})
exercise the qualified Constraint.class shape.
Recon claim that all existing fixtures' class-refs are intra-module
was empirically wrong — 10 fixtures required minimal canonical-form
migration. Duplicate-instance test architecturally restructured:
post-mq.1 orphan-freedom makes two-modules-on-same-(class,type)
structurally impossible; new test_22b1_dup_same_module fixture
lands both instances in the class's module.
Plan defects fixed inline: Origin::Class.class_name single
construction site (plan recon off-by-one); build_class_index in
mono.rs needed qualifying; build_module_globals needed Def::Instance
carve-out; check_fn declared-constraint matching needed inline
canonical-form lifting; NoInstance Float-aware message arm needed
prelude.Eq/prelude.Ord match; coherence type-leg needed qualified-
head split-and-lookup. Tasks 3-6 ran as one coherent fix.
7/7 tasks, 520 tests green. bench/compile_check.py + cross_lang.py
exit 0; bench/check.py exit 1 (4 improvements-beyond-tolerance,
audit-ratifiable, not a regression).
MethodNameCollision + dispatch path unchanged; iters mq.2 + mq.3
land them.
2026-05-13 01:11:56 +02:00
..
2026-05-12 14:20:27 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 00:55:57 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 01:11:26 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 01:11:26 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 00:55:57 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:05:03 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:05:03 +02:00
2026-05-12 14:20:27 +02:00
2026-05-09 01:21:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 00:06:20 +02:00
2026-05-08 18:13:43 +02:00
2026-05-10 01:03:21 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 00:06:20 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 02:07:07 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 14:45:35 +02:00
2026-05-07 11:07:36 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 02:26:12 +02:00
2026-05-07 13:03:20 +02:00
2026-05-13 01:11:56 +02:00
2026-05-11 10:09:48 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 14:20:27 +02:00
2026-05-11 12:14:15 +02:00
2026-05-12 22:23:46 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:12:24 +02:00
2026-05-12 00:38:52 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-10 22:46:51 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:31:35 +02:00
2026-05-12 18:30:55 +02:00
2026-05-10 16:25:25 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 17:45:33 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 21:29:05 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 12:20:18 +02:00
2026-05-07 12:44:10 +02:00
2026-05-12 21:29:05 +02:00
2026-05-12 18:30:55 +02:00
2026-05-12 18:30:55 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 17:16:28 +02:00
2026-05-07 13:14:28 +02:00
2026-05-07 10:38:07 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:00:23 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:27:21 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:27:21 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 21:00:49 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 20:33:48 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:07:05 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:16:12 +02:00
2026-05-12 00:38:52 +02:00
2026-05-07 17:45:33 +02:00
2026-05-07 14:45:35 +02:00
2026-05-11 23:59:45 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:48:14 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:10:01 +02:00
2026-05-11 01:40:20 +02:00
2026-05-11 09:58:22 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 12:18:12 +02:00
2026-05-07 14:10:51 +02:00
2026-05-07 14:10:51 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 22:39:28 +02:00
2026-05-12 00:38:52 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 23:03:10 +02:00
2026-05-08 10:25:22 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 15:21:40 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:37:36 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:25:07 +02:00
2026-05-08 10:37:25 +02:00
2026-05-08 10:37:25 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 19:36:04 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 13:56:17 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 14:18:30 +02:00
2026-05-12 14:20:27 +02:00
2026-05-08 10:55:31 +02:00
2026-05-07 17:45:33 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:48:43 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:59:42 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:57:06 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:48:43 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:34:49 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 20:05:45 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:39:16 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 20:05:45 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:08:56 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 18:08:56 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:12:23 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 19:12:23 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 23:47:13 +02:00
2026-05-12 18:30:55 +02:00
2026-05-07 17:45:33 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-13 01:11:56 +02:00
2026-05-12 00:38:52 +02:00
2026-05-09 12:40:06 +02:00
2026-05-09 12:40:06 +02:00
2026-05-13 01:11:56 +02:00
2026-05-09 18:33:01 +02:00
2026-05-10 22:35:37 +02:00
2026-05-10 22:35:37 +02:00
2026-05-09 18:51:39 +02:00
2026-05-09 21:07:58 +02:00
2026-05-10 04:54:22 +02:00
2026-05-09 17:50:29 +02:00
2026-05-09 17:45:27 +02:00
2026-05-09 18:07:52 +02:00
2026-05-09 18:07:52 +02:00
2026-05-10 22:35:37 +02:00
2026-05-09 18:51:39 +02:00
2026-05-10 22:34:30 +02:00
2026-05-09 19:07:46 +02:00
2026-05-10 22:34:30 +02:00
2026-05-09 19:19:44 +02:00
2026-05-13 01:11:56 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 21:21:33 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 19:19:44 +02:00
2026-05-09 20:59:43 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 21:36:15 +02:00
2026-05-10 04:47:50 +02:00
2026-05-09 20:52:07 +02:00
2026-05-09 21:28:41 +02:00
2026-05-09 20:52:07 +02:00
2026-05-09 21:21:33 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 21:36:15 +02:00
2026-05-09 22:41:18 +02:00
2026-05-11 01:46:58 +02:00
2026-05-11 01:46:58 +02:00
2026-05-11 01:46:58 +02:00
2026-05-10 22:16:51 +02:00
2026-05-10 22:16:51 +02:00
2026-05-10 01:19:45 +02:00
2026-05-10 01:19:45 +02:00
2026-05-10 01:06:18 +02:00
2026-05-12 14:20:27 +02:00
2026-05-07 23:00:23 +02:00
2026-05-07 11:31:57 +02:00
2026-05-07 11:23:21 +02:00
2026-05-07 11:31:57 +02:00
2026-05-07 11:31:57 +02:00