왼쪽은 값 공급, 가운데는 게으른 변환, 오른쪽은 소비 지점이다. 실행 여부는 마지막 소비자를 보면 된다.
iter, iter_mut, into_iter가 값 형태를 정한다.map, filter는 계획만 쌓고 아직 요소를 꺼내지 않는다.collect, sum, for, next에서 처리된다.| 구분 | 대표 메서드 | 실행 시점 | 검산 포인트 |
|---|---|---|---|
| 게으른 연결 | map, filter |
소비자를 만나기 전까지 실행되지 않는다. | 결과를 쓰지 않으면 경고가 나는 이유가 여기에 있다. |
| 상태 전진 | next |
호출할 때마다 내부 위치가 바뀐다. | mut 반복자가 필요한지 확인한다. |
| 최종 소비 | collect, sum, for |
체인을 끝까지 끌어당겨 값을 만든다. | 새 컬렉션인지 단일 값인지 반환 타입으로 구분한다. |