고급 기능

지금까지 러스트 프로그래밍 언어에서 가장 일반적으로 사용되는 부분을 배웠습니다. 20장에서 프로젝트를 하나 더 진행하기 전에, 가끔 마주칠 수 있지만 매일 사용하지는 않을 것 같은 언어의 몇 가지 측면을 살펴보겠습니다. 이 장은 모르는 것을 마주쳤을 때 참고 자료로써 활용될 수 있습니다. 여기서 다루는 기능은 매우 특정한 상황에서만 유용합니다. 자주 사용하지는 않더라도 러스트가 제공하는 모든 기능을 파악할 수 있기를 바랍니다.

이 장에서 다룰 것들입니다:

  • 안전하지 않은 러스트: 러스트가 보증하는 것의 일부를 거부하고 해당 보증을 수동으로 유지하는 것에 대한 책임을 지는 방법
  • 고급 트레이트: 트레이트와 관련된 연관 타입, 기본 타입 매개변수, 완전 정규화 문법 (fully qualified syntax), 슈퍼트레이트 (supertrait), 뉴타입 패턴 (newtype pattern)
  • 고급 타입: 뉴타입 패턴, 타입 별칭 (type alias), 부정 타입 (never type), 동적 크기 타입 (dynamically sized type) 에 대한 더 많은 정보
  • 고급 함수 및 클로저: 함수 포인터와 클로저 반환하기
  • 매크로: 코드를 컴파일 타임에 만들어 내는 코드를 정의하는 방법

모두를 위한 다양한 러스트 기능들이 총결집되어 있습니다! 뛰어들어 볼까요?