Landing: 7f6e3f37c504

Project / Subsystem

gcc / gccrs

Date

2026-08-28

Author

Lishin

Commit

7f6e3f37c5049a5a397e0d9acab119d30bf89407

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gccrs
patch_id
—
commit_hash
7f6e3f37c5049a5a397e0d9acab119d30bf89407
source_type
github
headline
gccrs: Reject multiple move sources in product-type expressions
tldr
gccrs now prevents moving values from the same product-type expression more than once.
author
Lishin
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • gccrs
  • • rust
  • • borrow checker
  • • compiler
discussion_id_link
—
bugzilla_pr
—
date
2026-08-28T00:00:00.000Z

This commit enhances gccrs’s borrow checker by preventing multiple moves from the same product-type expression (like structs or tuples). It achieves this by passing the expression’s HIR ID through the BIR, allowing the analysis to identify and reject attempts to move from the same source multiple times. A new test case validates this behavior.