v0.5.0 — Special cases aren't special enough
Welp, I went to far. v0.4.0 shipped yesterday with Timer.named() and Counter.named() - a dedicated API for creating named
timer/counter instances. Turns out I could have just use .clone(). The special case is gone; Timer and
Counter now use the same .clone() as every other structured type.
Before (v0.4.0)
DetTimer = Timer.named(1, "DetTimer")
After (v0.5.0)
DetTimer = Timer.clone("DetTimer")
TagMap auto-resolve for timer/counter operands is also removed — all mappings are now explicit:
mapping = TagMap([
DetTimer.Done.map_to(t[1]),
DetTimer.Acc.map_to(td[1]),
])
Also in this release
- TagMap codegen output now emits section headers (# --- Timers & Counters ---, etc.) when there are 2+
non-empty groups.