Skip to content

operators: mutate designated-initializer/member-assignment values - #52

Merged
brunoerg merged 1 commit into
mainfrom
2026-07-core-member-assignment
Jul 23, 2026
Merged

operators: mutate designated-initializer/member-assignment values#52
brunoerg merged 1 commit into
mainfrom
2026-07-core-member-assignment

Conversation

@brunoerg

@brunoerg brunoerg commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Fixes #51

Struct field assignments like .m_preferred = state->fPreferredDownload, went unmutated since the existing true/false swap only fires on literal true/false tokens. Add an operator that detects .field = expr,/; and forces expr to true/false, covering designated initializers and plain member assignment alike.

Struct field assignments like `.m_preferred = state->fPreferredDownload,`
went unmutated since the existing true/false swap only fires on literal
true/false tokens. Add an operator that detects `.field = expr,`/`;` and
forces expr to true/false, covering designated initializers and plain
member assignment alike.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@brunoerg

Copy link
Copy Markdown
Owner Author

cc @naiyoma

@naiyoma naiyoma left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

testedAck 3962029

run_id=1, 21 mutants
  .m_preferred: mutated by [15, 16]
  .m_relay_permissions: mutated by [17, 18]
  .m_wtxid_relay: mutated by [13, 19, 20]

@brunoerg
brunoerg merged commit b12c00f into main Jul 23, 2026
1 check passed
@brunoerg
brunoerg deleted the 2026-07-core-member-assignment branch July 23, 2026 10:09
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.

no mutation operator for some assignments (x = <expr> generates 0 mutants)

2 participants