[plt-dev] Hunting down an elusive certification bug
I have been bothered by a weird certification bug, triggered by a complex
sequence of expansions.
The error message is baffling:
compile: reference is more certified than binding in: cid
Here is a high-level description of the expansion:
There is a metadata descriptor identifier, that points to to certified
identifiers (timeout? and timeout.v in the trace below).
This identifier is used inside a macro, that eventually expands to a
rename-transformer.
This macro is used to splice-expand inside a match.
The effective expansion is:
(match ...
((? timeout? (app timeout.v cid))
... cid ...))
where cid was original syntax.
Any ideas?
-- vyzo