manual-take Prefer take over moving a value and assigning its default Moving a place into a temporary and then assigning its default value manually takes the place's value. Instead, you SHOULD call take with an exclusive borrow of the place. - Category: style - Level: warning - Fix: none - Scope: module Reported function remove(initial: T): T { let value = initial; const previous = value; value = T.default(); return previous; } Accepted import { take } from "destack:memory"; function remove(initial: T): T { let value = initial; return take(&exclusive value); } Prior art - Clippy ยท manualtake language/linter/src/rules/style/manualtake.rs:7