Changed:
Fixed:
collapseRHSNoopsnow runs after constant folding, making Clash able to constant fold more expressions than before. See #3036.- The
unzipfamily no longer retains a reference to the original input for every (unevaluated) part of the output tuple. Similarly,mapAccumLandmapAccumRare now also more eager to drop references. This can help to prevent space leaks. See #3038. - Individual items of
iterateIno longer retain a reference to the whole list, preventing space leaks. See #3042. - The compiler now tracks assignment types in more places, which can prevent "clash error call" errors in some specific cases. See #3045.
- Test bench primitives now assign the string they want to pass to Verilog's
$displayto a variable before printing. This works around a limitation in IVerilog. See #3046.