RUST · UNSAFE

safe API와 unsafe 코어 경계

unsafe는 작은 내부 구현 영역에 가두고, 바깥 safe API가 호출자가 지켜야 할 조건을 대신 보장해야 합니다.

핵심 구조

unsafe core
safe wrapper호출자가 안전하게 쓰는 공개 API
invariant check길이, 정렬, aliasing 조건 확인
unsafe block원시 포인터/FFI 호출을 좁게 격리
test contractMiri, fuzz, 문서로 불변조건 확인
safe wrapperinvariant checkunsafe blocktest contract

판단 기준

check
작게 격리unsafe 블록은 필요한 줄에만 최소화합니다.
문서화caller가 지켜야 하는 safety 조건을 명확히 씁니다.
safe 추상화외부에는 안전한 타입과 함수로 노출하는 것이 목표입니다.
검증 도구Miri와 테스트로 컴파일러가 보지 못한 영역을 보완합니다.