This site is being rebuilt and some pages are out of date. For current details, write to [email protected]. This notice goes away when the rebuild is done.

No analytics unless you allow it, no tracking. This site keeps in your browser the language you pick, the theme, its colour, which site you chose, the currency on the pricing page and that you closed this notice; signing in adds session cookies. The legal page has the details.

Sign in

Radar · Solidity · Archive · Week 42 · Oct 13 – 19, 2025

Assembler: Fixed ID type for nested subassemblies

Breakingcompiler

What changed
The assembler now uses a fixed‑width type for IDs assigned to subassemblies nested more than one level away, preventing inconsistent --asm-json output between target architectures.
Production impact
The source does not say.
Try it
Compile a contract with nested assembly blocks and compare the --asm-json output on two architectures.
Source
github.com/argotorg/solidity/releases/tag/v0.8.31-pre.1

Understand it, then run it

The Solidity assembler assigns numeric IDs to subassemblies so that the compiler can keep track of nested code blocks. Before the change, when a subassembly was nested more than one level deep, the ID type was not fixed‑width. That caused the JSON output produced by the --asm-json flag to differ between target architectures, even though the bytecode was the same. The new release fixes the ID type so that the output is now consistent across all architectures.

Written by gpt-oss-20b from the linked source · claims checked against the sources · archive, not individually reviewed