Skip to main content
Next (unreleased) · docs c218d875 · core f63c1e69 · built 2026-10-26 22:39 UTC

A field-wise Clone grant does not entail Clone for an open-row record

Limitation​

A generic function with an owned parameter { id: i64, ..R } and where all R: Clone was rejected with T0035 when its body called value.clone(). Generic method entailment now accounts for the fixed row fields and carries the declared field-wise requirement to the open tail. The regression evaluator/records/release_matrix_bounded_clone_residual_callback.mtl passes without a skip. The fix merged in metel-core PR #1422.

Impact​

Previously, generic code could not use field-wise Clone to duplicate an owned anonymous row, even when every field was known to satisfy Clone.

Affects​

Resolution​

Implemented in metel-core commit 5f038b189cb67c5ec40e51d16a3e11a831a4535e (PR #1422), with executable empty/nonempty tails and residual/callback coverage, plus neg_release_matrix_clone_fixed_field_not_clone; tracked by metel-core#1420. The remaining generic move-analysis skip is separate and remains tracked by metel-core#273.