정의에서 Rust 자료형으로
메시지 정의는 Rust 구조체와 필드로 바뀌고 패키지 이름은 모듈 구성에 반영된다. 생성된 코드에 원래 정의의 주석도 남긴다. 정의 파일을 사용하는 방식 외에 기존 자료형에 속성을 추가해 인코딩과 디코딩을 연결할 수 있다.
필드의 표현과 보존
반복 필드는 벡터로 표현하고 선택 여부에 따라 Option을 사용하는 등 메시지 규칙을 Rust 형식에 대응시킨다. 열거형을 역직렬화할 때 알려지지 않은 값도 보존한다. 메시지의 스키마와 언어의 형식 표현을 연결하는 계층이다.
생성과 실행 시점의 구분
prost-build는 정의 파일에서 코드를 생성하는 작업을 담당한다. 기본 구현 자체에 런타임 리플렉션이 포함되는 것은 아니지만 빌드 과정에서 파일 기술자 집합을 출력해 활용할 수 있다. 코드 생성과 실행 중 메시지 변환을 구분해 구성한다.