no-unused-copy-result
Use the replacement returned by a resolved copy API.
Why
Copy-on-write replacement APIs return another value rather than updating the original. Discarding their result can silently leave subsequent operations using unchanged data.
Fix
Assign, return, or otherwise consume the replacement. A copy hook intentionally exercised for its effects or exceptions can use a narrow suppression; do not automatically delete the call.
Examples
from dataclasses import replace
def rename(record): replace(record, name="new")from copy import replace
def rename(record): result = replace(record, name="new") return resultfrom pydantic import BaseModel
class Record(BaseModel): name: str
def rename(record: Record): record.model_copy(update={"name": "new"})from pydantic import BaseModel
class Record(BaseModel): name: str
def rename(record: Record): return record.model_copy(update={"name": "new"})