더북(TheBook)
    |
264 | pub trait Eq: PartialEq<Self> {
    |               --------------- required by this bound in `Eq`
    |
    = help: the trait PartialEq is not implemented for `QuestionId`
    = note: this error originates in a derive macro
        (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

이제 컴파일러는 QuestionIdEq 구현이 없다고 하면서 동시에 PartialEq도 설명해 준다. 러스트로 개발한 경험이 쌓인 후라면 이러한 에러가 지금처럼 낯설지는 않을 것이며, 컴파일러가 제안하는 트레이트를 추가하면 문제 대부분이 해결된다는 것을 알 것이다. 나중에 에러 메시지에 대해 더 많이 질문하고, 무언가를 추가해야 하는 이유와 시기도 알게 될 것이다. 지금은 제안된 트레이트를 추가한다.

코드 4-6 QuestionId 구조체에 PartialEq 트레이트 추가하기

#[derive(Serialize, Debug, Clone, Eq, Hash, PartialEq)]
struct QuestionId(String);
...
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.