DropGuard

DropGuard (드롭 시 클로저 실행 래퍼)

값을 감싸고 드롭될 때 클로저를 실행하는 구조체예요. 소멸자를 인라인으로 빠르게 만들 때 유용해요.

출처: Rust 공식 문서

본문

값을 감싸고 드롭될 때 클로저를 실행해요. 인라인으로 소멸자를 빠르게 만드는 데 유용해요.

pub struct DropGuard<T, F>
where
    F: FnOnce(T),
{ /* private fields */ }

예시

#![feature(drop_guard)]

use std::mem::DropGuard;

{
    // 드롭될 때 값을 출력할 문자열 주위에 새 가드를 만든다.
    let s = String::from("Chashu likes tuna");
    let _guard = DropGuard(s, |v| println!("{v}"));
}

더 알아보기 (Learn more)

Rust 공식 문서