v0.33.0
0.33.0 (2024-08-06)
⚠ BREAKING CHANGES
- parse block and if statements independently of expressions in statements (#5634)
- frontend: Restrict numeric generic types to unsigned ints up to
u32
(#5581)
Features
- acir_gen: Width aware ACIR gen addition (#5493) (85fa592)
- Add
FunctionDefinition::parameters
,FunctionDefinition::return_type
andimpl Eq for Quoted
(#5681) (d52fc05) - Add
std::meta::type_of
andimpl Eq for Type
(#5669) (0503956) - Add
TraitDefinition::as_trait_constraint()
(#5541) (0943223) - Add
Type::as_struct
(#5680) (ade69a9) - Add
Type::is_field
andType::as_integer
(#5670) (939357a) - Add
Type
methods:as_tuple
,as_slice
,as_array
,as_constant
,is_bool
(#5678) (604fa0d) - Add a compile-time hash map type (#5543) (c6e5c4b)
- Add a limited form of arithmetic on generics (#5625) (0afb680)
- Add parameter to call_data attribute (#5599) (e8bb341)
- Allow inserting LSP inlay type hints (#5620) (b33495d)
- Avoid heap allocs when going to/from field (AztecProtocol/aztec-packages#7547) (daad75c)
- Derive
Ord
andHash
in the stdlib; addstd::meta::make_impl
helper (#5683) (38397d3) - Don't eagerly error on cast expressions (#5635) (0ca5d9d)
- Implement
poseidon2_permutation
in comptime interpreter (#5590) (89dfbbf) - Implement
Value::Type
in comptime interpreter (#5593) (4c3bf97) - Implement
zeroed
in the interpreter (#5540) (ff8ca91) - Implement closures in the comptime interpreter (#5682) (9e2a323)
- Implement format strings in the comptime interpreter (#5596) (fd7002c)
- Integrate new proving systems in e2e (AztecProtocol/aztec-packages#6971) (daad75c)
- Let filenames in errors be relative to the current dir if possible (#5642) (f656681)
- Let LSP work will with code generated by macros (#5665) (8122624)
- LSP closing brace hints (#5686) (2b18151)
- LSP hover now includes "Go to" links (#5677) (d466d49)
- LSP inlay parameter hints (#5553) (822fe2c)
- LSP inlay type hints on lambda parameters (#5639) (80128ff)
- Make Brillig do integer arithmetic operations using u128 instead of Bigint (AztecProtocol/aztec-packages#7518) (daad75c)
- noir_js: Expose UltraHonk and integration tests (#5656) (4552b4f)
- Remove 'comptime or separate crate' restriction on comptime code (#5609) (1cddf42)
- Resolve arguments to attributes (#5649) (e139002)
- ssa: Simple serialization of unoptimized SSA to file (#5679) (07ea107)
- Sync from noir (AztecProtocol/aztec-packages#7432) (daad75c)
- Sync from noir (AztecProtocol/aztec-packages#7444) (daad75c)
- Sync from noir (AztecProtocol/aztec-packages#7454) (daad75c)
- Sync from noir (AztecProtocol/aztec-packages#7512) (daad75c)
- Sync from noir (AztecProtocol/aztec-packages#7577) (daad75c)
- Sync from noir (AztecProtocol/aztec-packages#7583) (daad75c)
- Turbofish in struct pattern (#5616) (b3c408b)
- Turbofish operator in struct constructor (#5607) (106abd7)
- Turbofish operator on path segments (#5603) (0bb8372)
- Typing return values of embedded_curve_ops (AztecProtocol/aztec-packages#7413) (daad75c)
Bug Fixes
- 'cannot eval non-comptime global' error (#5586) (0a987c7)
NoMatchingImplFound
in comptime code only (#5617) (28211a3)- Add trailing extra arguments for backend in gates_flamegraph (AztecProtocol/aztec-packages#7472) (daad75c)
- Allow calling a trait method with paths that don't consist of exactly two segments (#5577) (88c0a40)
- Allow trailing comma when parsing where clauses (#5594) (75bfe13)
- Allow using Self for function calls (#5629) (b7e4f42)
- Correct span for prefix operator (#5624) (5824785)
- Correctly track sources for open LSP documents (#5561) (9e61e97)
- Derive generic types (#5674) (19e58a9)
- Don't panic when a macro fails to resolve (#5537) (6109ddc)
- Elaborate struct & trait annotations in the correct module (#5643) (d0a957b)
- Error on duplicate struct field (#5585) (3aed671)
- Error on incorrect generic count for impl and type alias (#5623) (1f5d000)
- Error on trait impl generics count mismatch (#5582) (da3d607)
- Error on unbound generics in structs (#5619) (efef6b4)
- Filter comptime globals (#5538) (2adc6ac)
- Fix
uhashmap
test name (#5563) (d5de83f) - Fix occurs check (#5535) (51dd529)
- Fix where clause issue in items generated from attributes (#5673) (9a8cfc9)
- frontend: Disallow signed numeric generics (#5572) (2b4853e)
- frontend: Error for when impl is stricter than trait (#5343) (ece033f)
- frontend: Restrict numeric generic types to unsigned ints up to
u32
(#5581) (b85e764) - Let a trait impl that relies on another trait work (#5646) (e00c370)
- Let std::unsafe::zeroed() work for slices (#5592) (7daee20)
- Let trait calls work in globals (#5602) (c02a6f6)
- Let unary traits work at comptime (#5507) (aa62d8a)
- Lookup trait constraints methods in composite types (#5595) (cec6390)
- Parse block and if statements independently of expressions in statements (#5634) (9341113)
- Revert "feat: Sync from noir (AztecProtocol/aztec-packages#7512)" (AztecProtocol/aztec-packages#7558) (daad75c)
- Run macros within comptime contexts (#5576) (df44919)
- Speed up LSP (#5650) (e5f1b36)
- ssa: More robust array deduplication check (#5547) (dd89b90)
- Switch verify proof to arrays (#5664) (c1ed9fb)
- Type_of for pointer types (#5536) (edb3810)
- Workaround from_slice with nested slices (#5648) (6310a55)