Skip to content
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

chore: parse fieldless structures #3021

Merged
merged 3 commits into from Oct 9, 2023
Merged

chore: parse fieldless structures #3021

merged 3 commits into from Oct 9, 2023

Conversation

ghost
Copy link

@ghost ghost commented Oct 6, 2023

Description

Problem

Resolves #3018

Summary

allows such programs:

struct Hello;

fn main() {
    let hello = Hello {};
}

but not

struct Hello;

fn main() {
    let hello = Hello;
}
warning: unused variable hello
  ┌─ main.nr:4:9
  │
4 │     let hello = Hello;
  │         ----- unused variable 
  │

error: cannot find `Hello` in this scope 
  ┌─ main.nr:4:17
  │
4 │     let hello = Hello;
  │                 ----- not found in this scope

PR Checklist

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@TomAFrench
Copy link
Member

Can you add an example to the struct integration test?

@kevaundray kevaundray added this pull request to the merge queue Oct 9, 2023
Merged via the queue into noir-lang:master with commit b71b15d Oct 9, 2023
23 checks passed
TomAFrench added a commit that referenced this pull request Oct 9, 2023
* master: (21 commits)
  fix: disable modulo for fields (#3009)
  chore: parse fieldless structures (#3021)
  chore: publish to npm nightly (#3029)
  chore(tests): Test trait override of MutableReference of struct (#3011)
  chore: Add a flag to nargo to silence warnings (#3032)
  fix: add `pub` modifier to grumpkin functions (#3036)
  fix: prevent duplicated assert message transformation (#3038)
  chore: make paths in `wasm` tests absolute (#3040)
  fix: include .nr and .sol files in builds (#3039)
  chore: codegen formatter test cases (#3006)
  chore: run tests for `noir_wasm` in node under default resolver (#3020)
  chore: align versions for js packages (#3019)
  fix: Fix aztec library after nargo fmt (#3014)
  chore: simplify ES workspace build and publish (#2989)
  fix: fix method `program_counter`, change method signature (#3012)
  fix: ACIR optimizer should update assertion messages (#3010)
  fix: check for overflow with hexadecimal inputs (#3004)
  feat(traits): Add trait impl for buildin types (#2964)
  feat(traits): added checks for duplicated trait associated items (types, consts, functions) (#2927)
  chore(formatter): trim spaces after opening brace (#3005)
  ...
TomAFrench added a commit that referenced this pull request Oct 9, 2023
* master:
  chore(formatter): prettier test diff output via `similar-asserts` (#3046)
  fix: disable modulo for fields (#3009)
  chore: parse fieldless structures (#3021)
  chore: publish to npm nightly (#3029)
  chore(tests): Test trait override of MutableReference of struct (#3011)
  chore: Add a flag to nargo to silence warnings (#3032)
  fix: add `pub` modifier to grumpkin functions (#3036)
  fix: prevent duplicated assert message transformation (#3038)
  chore: make paths in `wasm` tests absolute (#3040)
  fix: include .nr and .sol files in builds (#3039)
  chore: codegen formatter test cases (#3006)
TomAFrench added a commit that referenced this pull request Oct 10, 2023
* master: (22 commits)
  chore: Update ACIR artifacts (#3013)
  chore: update yarn.lock file (#3064)
  feat(formatter): add formatter support for array literals (#3061)
  chore(traits): updated the trait_function_calls test to include calls to and from static methods (functions without self) (#3034)
  fix: Parse parenthesized lvalues (#3058)
  feat(acir): Set dynamic array values (#3054)
  fix: change non-constant argument errors from `to_be_radix`  from ICE to proper error (#3048)
  feat: add JS types for ABI and input maps (#3023)
  chore: remove clones in optimizer/transformer code (#3037)
  feat: add conditional compilation of methods based on the underlying field being used  (#3045)
  chore: make `eval_constants` a pure function (#3027)
  chore: Formatter can now handle cast expressions (#3000)
  chore(tests): Rewrite some compile failure tests (#2850)
  feat: pass brillig bytecode to VM by reference (#3030)
  chore(formatter): prettier test diff output via `similar-asserts` (#3046)
  fix: disable modulo for fields (#3009)
  chore: parse fieldless structures (#3021)
  chore: publish to npm nightly (#3029)
  chore(tests): Test trait override of MutableReference of struct (#3011)
  chore: Add a flag to nargo to silence warnings (#3032)
  ...
Sakapoi pushed a commit to Sakapoi/noir_fork that referenced this pull request Oct 19, 2023
Co-authored-by: kevaundray <kevtheappdev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot parse fieldless structures
2 participants