이러한 에러 메시지로 언어와 해당 기능을 자세히 알 수 있어 견고한 웹 애플리케이션을 구축하는 데 도움이 된다. 두 문제로 일부 에러가 발생했으며, 다른 에러는 동일한 실수로 인한 것이므로 한 가지만 수정하면 다른 것도 해결된다.
언제나 먼저 표시된 에러부터 살펴보는 것이 가장 좋다. 이 에러가 나중에 나온 에러의 원인이 될 수도 있기 때문이다. 첫 번째 문제를 보고 어떻게 해결할 수 있는지 살펴보자.
코드 2-5 첫 번째 컴파일 에러
--> src/main.rs:27:20
|
27 | let question = Question::new(
| ^^^^^^^^^^^^^
28 | "1",
| --- expected struct `QuestionId`, found `&str`
여기에는 두 문제가 있다. 먼저 &str 대신 사용자 정의 QuestionId 타입을 전달해야 한다. 코드 2-3의 구조체 정의대로라면 &str 대신 String을 캡슐화해야 한다.