v1.6.4
版本发布时间: 2022-08-31 00:48:53
clash-lang/clash-compiler最新发布版本:v1.8.1(2023-11-11 06:13:10)
Fixed:
- Input validation of the used arguments in blackboxes is now complete. #2184
-
Clash.Annotations.BitRepresentation.Deriving.deriveAnnotation
no longer has quadratic complexity in the size of the constructors and fields. #2209 - Fully resolve type synonyms when deriving bit representations. #2209
- Disregard ticks when determining whether terms are shared. Fixes #2233.
- The blackbox parser will make sure it fully parses its input, and report an error when it can't. #2237
- Wrap ~ARG[n] in parentheses. Fixes #2213
- The VHDL shift primitives no longer generate bound check failures. Fixes #2215
- Evaluator fails impredicative type instantiation of error values #2272
- Fix out of bound errors in toEnum/fromSLV for sum types #2220
- Netlist generation fails for certain uses of GADTs #2289
- The documentation for
ANN TestBench
had it backwards; it now correctly indicates the annotation is on the test bench, not the device under test. #1750
Fixes with minor changes:
-
reduceXor
now produces a result if the argument has undefined bits instead of throwing anXException
(the result is an undefined bit).reduceAnd
andreduceOr
already always produced a result. #2244
Added:
- Support for symbols in types while deriving bit representations. #2209
- Support for promoted data types while deriving bit representations. #2209
-
scanlPar
andscanrPar
in Clash's Prelude, as well as theRTree
versionstscanl
andtscanr
. These variants ofscanl1
andscanr1
compile to a binary tree of operations, with a depth ofO(log(n))
(n
being the length of the vector) rather than a depth ofn
forscanl1
andscanr1
. #2177 - The GADT constructors for
RTree
(RLeaf
andRBranch
) are now exported directly in addition to the patternsLR
andBR
. #2177 - Added the
~ISSCALAR
template which can be used to check if an argument is rendered to a scalar in HDL. #2184 - Added support for records and infix constructors when using
Clash.Annotations.BitRepresentation.Deriving.deriveAnnotation
. #2191 - Clash now contains instances for
ShowX
,NFDataX
andBitPack
on the newtypes from the Data.Functor modules (Identity
,Const
,Compose
,Product
andSum
). #2218