jolt/test
Yogthos 1675d88778 core: sq-symbol qualifies unresolved syms against :compile-ns, not the analyzer's ns
deftype with inline protocol methods failed in compile mode with "Unable to
resolve symbol: jolt.analyzer/extend-type". deftype's expander template emits
(extend-type ...), but extend-type is defined AFTER deftype in 30-macros — so
when the expander compiles at defmacro time, syntax-quote lowering can't
resolve it and falls through to current-ns qualification. The analyzer runs
interpreted in jolt.analyzer, so ctx-current-ns mid-compile is jolt.analyzer,
baking the wrong qualification into the compiled template.

Same bug class jolt-265 fixed for resolve-var: read :compile-ns (the namespace
being compiled) when set, falling back to ctx-current-ns. Interpret and
self-host modes never hit it (interpreted expanders resolve at use time, when
extend-type exists) — which is also why no gate test caught it: nothing
EVALUATED a deftype-with-inline-methods in compile mode. Two 3-mode
conformance cases added.

Gate: conformance 271x3, fallback-zero, fixpoint, self-host, sci, staged,
suite 4046>=4034, all specs+unit.
2026-06-10 09:22:54 -04:00
..
bench Compiler research (#10) 2026-06-09 07:30:25 +08:00
clojure-stdlib/clojure Compiler research (#10) 2026-06-09 07:30:25 +08:00
integration core: sq-symbol qualifies unresolved syms against :compile-ns, not the analyzer's ns 2026-06-10 09:22:54 -04:00
spec Comprehensive spec (#19) 2026-06-10 20:33:22 +08:00
support test: ~11x faster gate — ctx snapshot/fork + parallel suite battery 2026-06-10 09:11:58 -04:00
unit compiler: interpreter fallback is deliberate-only (Stage 2 Task 3) 2026-06-10 08:48:19 -04:00