Repository navigation
v0.56.0
The module writes itself again
When the narration learned to hand its fields back to the encoder, the three
machines got a claim they had never had: that what this file says its octets
are will write those octets again. The module did not get it, which left one
tier where the naming was checked for its length and not for its content. A
branch depth read one structure too shallow would have passed every walk
there is, in silence.
It has it now. Every instruction comes back with the way to write it again,
and the awkward part is exactly the part worth checking: wasm says how many
structures to leave, and the encoder wants to be told which one. So the walk
keeps the stack of what is open, looks the name up, and hands the encoder the
name rather than the number, leaving it to count the depth again for itself.
Take a depth apart wrongly and the octets come back different.
One thing had to be true first and was worth confirming rather than assuming:
the encoding has to be canonical, because LEB128 will hold the same number
several ways and a round-trip means nothing if the encoder is free to pick a
different spelling. Every immediate layer 19 writes comes back the octets it
went in as.
Identical at seven orders and over the whole catalogue on the first run.
Reading a branch one structure too shallow is reported.
Full Changelog: v0.55.0...v0.56.0
LOC: 25702