closure

클로저 캡처 선택 점검표

클로저는 주변 값을 어떻게 쓰는지에 따라 캡처 방식과 호출 가능 트레이트가 달라집니다.

읽기

공유 참조만 필요하면 여러 번 호출 가능한 Fn으로 충분합니다.

변경

외부 상태를 누적하거나 갱신하면 FnMut 제약이 필요합니다.

소비

캡처 값을 밖으로 이동하면 한 번 호출되는 FnOnce가 됩니다.

move

스레드나 async 작업처럼 수명이 갈라지는 위치에서는 소유권 이동을 명시합니다.