클로저 캡처 선택 점검표

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

본문이 외부 값을?읽기·변경·이동을 확인
읽는다공유 빌림 · Fn
바꾼다가변 빌림 · FnMut
소비한다소유권 이동 · FnOnce
읽기

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

변경

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

소비

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

move

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