Skip to content

v0.4.0

Compare
Choose a tag to compare
@lars-reimann lars-reimann released this 22 Nov 12:52
· 336 commits to main since this release

0.4.0 (2023-11-22)

Features

  • add endless recursion as an impurity reason (#788) (98acdde)
  • call graph computer (without closures) (#782) (34bf182)
  • check types of constant parameters (#775) (0a02850), closes #668
  • check whether purity of callable parameters of functions is set properly (#777) (f8fd907), closes #732
  • compute purity/side effects for expressions (#785) (9ed1c08), closes #15
  • compute types of parameters of lambdas that are passed as default value (#780) (01a5c03)
  • error if call leads to infinite recursion (#783) (f7eabd8), closes #667
  • error if impure callable is passed to pure parameter (#792) (5536a4a), closes #730
  • error if parameter name in impurity reason is invalid (#772) (faa2012), closes #741
  • error if purity of functions is not specified (#768) (a15b0af), closes #731
  • filter statements without effect for code generation (#786) (cd4f2c1), closes #542
  • improve location of warning about duplicate annotation target (#771) (87d2a48)
  • info if @Pure annotation is called on parameter of pure function (#778) (c15c70e)
  • purity computer (#784) (b09bb3a)
  • remove type parameters from enum variants (#767) (cb6556a), closes #766
  • short-circuit and, or, and ?: if RHS has no side effects (#789) (9d9f4b7), closes #15
  • streamline purity information (#779) (75a9e5b)
  • stricter definition of const parameters (#776) (73a0d4e)
  • update snippets for functions and methods (#769) (061d3b1)
  • validate impurity reasons of overriding methods (#774) (71fc5bd), closes #665
  • warn about duplicate impurity reasons (#773) (8344356), closes #733
  • warn if statement has no effect (#787) (6f45dc4), closes #664

Bug Fixes

  • signature help for optional parameters (#793) (fd88ce8), closes #791
  • wrong detection of useless statements that call parameters/unknown callables (#790) (a49b4b3)
  • wrong"assignment/nothing-assigned" error if RHS calls expression lambda (#781) (b909cb8)