스카라브 다이애그노스틱 필드 테스트 #023 — 러스트 Raw 포인터 재귀 레이아웃 경계
(dev.to)
Rust 컴파일러의 릴리즈 모드에서 무한 재귀 구조체가 잘못 컴파일되던 심각한 버그가 발견되었으며, 이는 로우 포인터의 보수적 메타데이터 유지와 레이아웃 검증 사이의 경계를 바로잡음으로써 해결되었습니다.
이 글의 핵심 포인트
- 1Rust 릴리즈 모드에서 무한 재귀 구조체가 성공적으로 컴파일되는 심각한 버그 발견
- 2로우 포인터의 보수적 메타데이터 유지 기능이 레이아웃 검증 누락을 유발함
- 3compiler/rustc_middle/src/ty/layout.rs 수정을 통해 포인터 대상(pointee)의 레이아웃 검증 강제