0.19.0
Moving to this minor version is greatly recommended, since contract sizes and costs are likely to experience 70% decrease or more due to #297
What's Changed
🏕 Features
- Extend assert sum example and ensure determinism among union types by @nielstron in #285
- Copy in right places to avoid reference capturing by @nielstron in #293
- Make binary operations more accessible by @nielstron in #294
- Add support for builtin list slicing by @nielstron in #295
- Improve error messages for union type and make merging stronger by @nielstron in #296
- Remove the need for an explicit statemonad by @nielstron in #297
- Add proper tests for return statements by @nielstron in #302
- Use constant nth field access where possible by @nielstron in #304
- New minor version by @nielstron in #303
🐛 Bug Fixes
- Disallow retyping of variables to incompatible types by @nielstron in #298
- This patches a slip-through in the typechecker where a function could capture variables of invalid type.
💔 Breaking Changes
Retyping of variables is now allowed anymore (categorically) since #298 . Assertions on a variable type will still factually change the type but can only narrow down the type (thus compatible with the previously declared type) and are hence still allowed.
👒 Dependencies
- Bump black from 23.10.1 to 23.11.0 by @dependabot in #286
Full Changelog: 0.18.1...0.19.0