manual-retain Prefer retain over replacing an owned array with its filtered result Assigning an owned array's filtered result back to the same place allocates replacement storage. Instead, you SHOULD call retain to remove rejected elements from the owned array in place. - Category: performance - Level: warning - Fix: suggestion - Scope: module Reported function keepPositive(input: ^int32[]): ^int32[] { let values = input; values = values.filter((value) => value > 0); return values; } Accepted function keepPositive(input: ^int32[]): ^int32[] { let values = input; values.retain((value) => value > 0); return values; } Prior art - Clippy ยท manualretain language/linter/src/rules/performance/manualretain.rs:8