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.