chore: remove dependency on generational-arena#4207
Conversation
jfecher
left a comment
There was a problem hiding this comment.
LGTM. Unsure what the errors in the stdlib are coming from seeing as this PR doesn't actually change any of the method interface.
In particular std::wrapping_add seems to have somehow been given the type [Field; 16]... odd
|
Removed wip from pr scope and put PR as a draft |
…na, Index} to {Arena, Index}, added tests for parity between arenas to class, added missing instances, found inconsistency, wip debugging
|
This PR is working locally now for me |
|
@michaeljklein is this ready for review now? Or are we waiting until the generational index is removed from |
|
@jfecher it's ready for review |
jfecher
left a comment
There was a problem hiding this comment.
A few comments. - There is also the PartialEq comment from above
|
I've found the origin of the errors in this PR. In |
# Description ## Problem\* Resolves the underlying issue with #4207 where definition/expr types are being overwritten by other exprs/definitions because DefinitionIds are converted into Indexes which may clash with those from expressions. ## Summary\* Separates out `id_to_type` into another map for only definitions: `definition_to_type` to resolve the clash. I've also removed the `impl From<DefinitionId> for Index` to prevent this issue in the future. ## Additional Context ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[Exceptional Case]** Documentation to be submitted in a separate PR. # PR Checklist\* - [x] I have tested the changes locally. - [x] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
* master: (39 commits) chore: remove unwanted prints (#4419) fix: remove print from monomorphization pass (#4417) chore(ssa): Remove mem2reg run before flattening (#4415) feat: Add HashMap to the stdlib (#4242) fix!: Ban Fields in for loop indices and bitwise ops (#4376) chore: Add #[recursive] Explainer to Documentation (#4399) feat(ci): Use wasm-opt when compiling wasm packages (#4334) fix: add handling to `noir_wasm` for projects without dependencies (#4344) chore: rename parameter 'filter' to 'level' in 'init_log_level' (#4403) chore!: bump msrv to 1.73.0 (#4406) chore: fix docker test workflows (#4308) chore: Update Vec docs (#4400) feat: update error message when trying to load workspace as dependency (#4393) chore: bump webpack dependencies (#4346) fix: correct invalid brillig codegen for `EmbeddedCurvePoint.add` (#4382) chore: remove dependency on generational-arena (#4207) fix(docs): update install versions (#4396) fix: Enforce matching types of binary ops in SSA (#4391) fix(docs): Update noirjs_app for 0.23 (#4378) chore(ci): add alerts for failed publishes (#4388) ...
* master: (440 commits) chore: remove duplicate `parse_all` function in wasm compiler (#4411) chore(ci): prevent msrv checks from blocking PRs (#4414) feat: expose separate functions to compile programs vs contracts in `noir_wasm` (#4413) chore: do not panic when dividing by zero (#4424) chore: remove unwanted prints (#4419) fix: remove print from monomorphization pass (#4417) chore(ssa): Remove mem2reg run before flattening (#4415) feat: Add HashMap to the stdlib (#4242) fix!: Ban Fields in for loop indices and bitwise ops (#4376) chore: Add #[recursive] Explainer to Documentation (#4399) feat(ci): Use wasm-opt when compiling wasm packages (#4334) fix: add handling to `noir_wasm` for projects without dependencies (#4344) chore: rename parameter 'filter' to 'level' in 'init_log_level' (#4403) chore!: bump msrv to 1.73.0 (#4406) chore: fix docker test workflows (#4308) chore: Update Vec docs (#4400) feat: update error message when trying to load workspace as dependency (#4393) chore: bump webpack dependencies (#4346) fix: correct invalid brillig codegen for `EmbeddedCurvePoint.add` (#4382) chore: remove dependency on generational-arena (#4207) ...
Description
Problem*
Resolves #15 (comment)
Summary*
Replaces
generational-arena'sArenaclass with a thin wrapper aroundVecAdditional Context
The thin wrapper is helpful for:
insertreturning the indexiteriterating over the(index, item)pairsDocumentation*
Check one:
PR Checklist*
cargo fmton default settings.