Skip to content

chore(frontend): Correct type for struct field on type mismatch and extra negative case unit tests #10493

Merged
vezenovm merged 7 commits intomasterfrom
mv/struct-pattern-audit
Nov 13, 2025
Merged

chore(frontend): Correct type for struct field on type mismatch and extra negative case unit tests #10493
vezenovm merged 7 commits intomasterfrom
mv/struct-pattern-audit

Conversation

@vezenovm
Copy link
Copy Markdown
Contributor

@vezenovm vezenovm commented Nov 12, 2025

Description

Problem

Resolves #10492
Working towards audit of the elaborator group 7a

Summary

I added various negative case tests for struct patterns that match the tuple pattern tests.

I also fixed #10492 by simply using the actual type when resolving constructor pattern fields. The new struct_pattern_with_mismatched_type test has an error on let _check: u32 = x; due to this change. On master, this test only has an error on let Foo { x } = value;.

As a result of switching from passing both the actual_type and expected_type to resolve_constructor_pattern_fields I was able to remove passing expected_type at all.

I also added a parenthesized_pattern test for full coverage as I substituted the Pattern::Parenthesized match case with a panic and no frontend tests failed.

Additional Context

User Documentation

Check one:

  • No user documentation needed.
  • Changes in docs/ included in this PR.
  • [For Experimental Features] Changes in docs/ to be submitted in a separate PR.

PR Checklist

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

@vezenovm vezenovm added this to the Group 7 Audited milestone Nov 12, 2025
@vezenovm vezenovm requested a review from a team November 12, 2025 19:28
@vezenovm vezenovm marked this pull request as draft November 12, 2025 19:30
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 204660f Previous: b34828f Ratio
rollup-block-root-single-tx 0.003 s 0.002 s 1.50
rollup-checkpoint-merge 0.004 s 0.003 s 1.33

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 3475024 Previous: b34828f Ratio
test_report_zkpassport_noir-ecdsa_ 3 s 2 s 1.50

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@vezenovm vezenovm marked this pull request as ready for review November 12, 2025 19:51
@vezenovm vezenovm added this pull request to the merge queue Nov 13, 2025
Merged via the queue into master with commit ff431be Nov 13, 2025
132 checks passed
@vezenovm vezenovm deleted the mv/struct-pattern-audit branch November 13, 2025 19:07
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 14, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix(fuzzer): Set `in_dynamic` in `gen_match`
(noir-lang/noir#10470)
chore(elaborator): Check that assert message fragments are ABI
compatible (noir-lang/noir#10491)
feat(fuzz): Add support for more functions in comptime_vs_brillig_direct
(noir-lang/noir#10500)
chore(frontend): Correct type for struct field on type mismatch and
extra negative case unit tests
(noir-lang/noir#10493)
chore: improve register moves in brillig return code-gen
(noir-lang/noir#10305)
END_COMMIT_OVERRIDE
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 14, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix(fuzzer): Set `in_dynamic` in `gen_match`
(noir-lang/noir#10470)
chore(elaborator): Check that assert message fragments are ABI
compatible (noir-lang/noir#10491)
feat(fuzz): Add support for more functions in comptime_vs_brillig_direct
(noir-lang/noir#10500)
chore(frontend): Correct type for struct field on type mismatch and
extra negative case unit tests
(noir-lang/noir#10493)
chore: improve register moves in brillig return code-gen
(noir-lang/noir#10305)
END_COMMIT_OVERRIDE
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.

Struct pattern fields bound to incorrect type on type mismatch

2 participants