RUST · ADVANCED TYPES

타입 시스템의 빈틈을 표현으로 메우기

별칭, never 타입, 동적 크기 타입은 모두 타입을 더 정확하게 말하기 위한 서로 다른 도구입니다.

읽기 쉬움

타입 별칭

type Kilometers = i32처럼 긴 타입에 이름을 붙여 반복을 줄이고 의도를 드러냅니다.

돌아오지 않음

never 타입

!는 값을 만들 수 없는 타입이라, panic!이나 무한 루프가 어떤 타입 자리에도 맞게 해줍니다.

크기 미정

동적 크기 타입

str이나 dyn Trait처럼 크기가 실행 중에 정해지는 값은 포인터 뒤에 둡니다.

Sized boundary

제네릭은 기본적으로 T: Sized를 가정합니다. 크기 미정 타입도 받으려면 T: ?Sized와 참조 같은 포인터가 필요합니다.

type은 같은 타입에 더 좋은 이름을 줍니다.
!는 제어 흐름이 끝나지 않음을 타입으로 표시합니다.
?Sized는 포인터 뒤의 유연한 값을 허용합니다.