더북(TheBook)

터미널에서 cargo run 명령으로 애플리케이션을 실행하면 긴 에러 목록을 보게 된다. 이런 경험은 여러 해 동안 러스트를 사용한다 하더라도 좀처럼 없어지지 않을 것이다. 컴파일러는 엄격하므로 빨간색 에러의 바다와 친해져야 한다.

러스트는 안전하고 올바른 코드를 생성하려 하므로 컴파일할 때 깐깐하게 대상을 검증한다. 코드 작성 방법을 알려주고 훌륭한 에러 메시지를 제공하여 어디가 잘못되었는지 확인할 수 있는 것은 이런 깐깐함 덕분이다.

코드 2-4 코드를 컴파일할 때 나오는 에러 메시지

error[E0308]: arguments to this function are incorrect
    --> src/main.rs:27:20
    27 |     let question = Question::new(
       |                    ^^^^^^^^^^^^^ 
    28 |         "1",
       |         --- expected struct `QuestionId`, found `&str` 
    29 |         "First Question",
       |         ---------------- expected struct `String`, found `&str`
    30 |         "Content of question",
       |         --------------------- expected struct `String`, found `&str`
       |
       note: expected enum `Option`, found array `[&str; 1]`
       --> src/main.rs:31:3
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.