-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add support for slices of structs and nested slices in brillig #2084
Conversation
* fix: Initialize Value::Array of type Slice * test: improved brillig test after bug fix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good for the most part. Aside some additions to the tests, one small suggestion that you can feel free to ignore if the solution isn't clean.
crates/noirc_evaluator/src/brillig/brillig_gen/brillig_block.rs
Outdated
Show resolved
Hide resolved
crates/nargo_cli/tests/test_data/brillig_nested_slices/src/main.nr
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small question
crates/noirc_evaluator/src/brillig/brillig_gen/brillig_block.rs
Outdated
Show resolved
Hide resolved
crates/noirc_evaluator/src/brillig/brillig_gen/brillig_block.rs
Outdated
Show resolved
Hide resolved
* master: chore: Remove symlink and dummy config file (#2200) fix: Fix an ICE when reassigning a mutable lambda variable to one with a different environment type (#2172) feat: Only create new witnesses for distinctiveness when duplicates exist (#2191) chore: Use helper functions for getting values of `AcirVar`s (#2194) feat: Add support for slices of structs and nested slices in brillig (#2084) feat: Perform sorting of constant arrays at compile time (#2195)
* master: chore: Remove symlink and dummy config file (#2200) fix: Fix an ICE when reassigning a mutable lambda variable to one with a different environment type (#2172) feat: Only create new witnesses for distinctiveness when duplicates exist (#2191) chore: Use helper functions for getting values of `AcirVar`s (#2194) feat: Add support for slices of structs and nested slices in brillig (#2084) feat: Perform sorting of constant arrays at compile time (#2195) chore: Improve unary error (#2199) chore: separate integration test cases into directories based on expected result (#2198) chore: remove stale comment (#2197) feat(nargo): Support custom entry points specified in TOML (#2158) fix(nargo): Indicate which TOML file is missing package name (#2177) fix: remove duplicated `name` option in `nargo new` (#2183) chore: add documentation to the `nargo lsp` command (#2169) feat(nargo)!: Require package `type` be specified in Nargo.toml (#2134) fix(nargo): Make dependencies section optional in TOML (#2161) chore: Do not create new memory block when not needed (#2142) fix: fix an ICE happening when we call a closure result from if/else (#2146) chore: remove unnecessary cloning of package dependencies (#2175)
* master: (35 commits) feat: Issue warning for signed integers (#2185) chore: Add `noir_wasm` testing workflow (#1921) chore: Remove symlink and dummy config file (#2200) fix: Fix an ICE when reassigning a mutable lambda variable to one with a different environment type (#2172) feat: Only create new witnesses for distinctiveness when duplicates exist (#2191) chore: Use helper functions for getting values of `AcirVar`s (#2194) feat: Add support for slices of structs and nested slices in brillig (#2084) feat: Perform sorting of constant arrays at compile time (#2195) chore: Improve unary error (#2199) chore: separate integration test cases into directories based on expected result (#2198) chore: remove stale comment (#2197) feat(nargo): Support custom entry points specified in TOML (#2158) fix(nargo): Indicate which TOML file is missing package name (#2177) fix: remove duplicated `name` option in `nargo new` (#2183) chore: add documentation to the `nargo lsp` command (#2169) feat(nargo)!: Require package `type` be specified in Nargo.toml (#2134) fix(nargo): Make dependencies section optional in TOML (#2161) chore: Do not create new memory block when not needed (#2142) fix: fix an ICE happening when we call a closure result from if/else (#2146) chore: remove unnecessary cloning of package dependencies (#2175) ...
Description
Problem*
Brillig slice ops didn't properly support slices of structs, and brillig gen didn't support slices inside arrays/slices. This PR adds support for both.
Summary*
Documentation
This PR requires documentation updates when merged.
Additional Context
PR Checklist*
cargo fmt
on default settings.