Rust 1.85는 async || 문법과 AsyncFn 계열 트레이트를 안정화했습니다. 클로저가 주변 값을 캡처하고 await를 포함한 작업을 만들 수 있으며, 반환된 future가 캡처한 값을 빌릴 수 있습니다.
기존의 || async {} 형태에서는 내부 future가 클로저의 캡처를 빌리는 경우를 표현하기 어려웠습니다. 빌림은 future의 수명과 연결되므로 호출자가 그 future를 유지하는 동안 소유권 규칙을 지켜야 합니다.
언제 쓰나
캡처한 상태를 await 전후에 쓰는 비동기 콜백을 만들 때 씁니다.