RUST · LIFETIME
라이프타임 영역과 댕글링 방지
대여 검사기는 참조가 가리키는 값보다 오래 살아남지 않는지 scope와 lifetime 제약을 비교합니다.
핵심 구조
borrow checker
owner scope
값이 실제로 살아 있는 구간
borrow scope
참조가 사용되는 구간
compare
참조가 owner보다 길면 거부
annotate
함수 경계는 lifetime 관계를 명시
owner scope
→
borrow scope
→
compare
→
annotate
판단 기준
check
댕글링 방지
해제된 값을 가리키는 참조가 반환되지 않도록 막습니다.
함수 반환
반환 참조는 입력 중 어떤 값과 연결되는지 설명해야 합니다.
생략 규칙
간단한 패턴은 컴파일러가 lifetime을 추론합니다.
제약 표현
lifetime 표기는 수명을 늘리는 문법이 아니라 관계를 설명합니다.