그러나 두 가지 주의 사항이 있다. Question 구조체에는 기본으로 Display 트레이트를 구현하지 않는 QuestionId라는 사용자 정의 구조체가 있고, 태그에는 더 복잡한 구조를 가진 벡터가 있다. 벡터와 같은 더 복잡한 구조에는 Display 트레이트를 사용할 수 없으며, 대신 Debug 트레이트를 사용해야 한다. 다음 main.rs 파일에 Display와 Debug 트레이트를 구현했다.
코드 2-16 Question에 Display 트레이트 구현하기
...
impl std::fmt::Display for Question {
fn fmt(&self, f: &mut std::fmt::Formatter)
-> Result<(), std::fmt::Error> {
write!(
f,
"{}, title: {}, content: {}, tags: {:?}",
self.id, self.title, self.content, self.tags
)
}
}
impl std::fmt::Display for QuestionId {
fn fmt(&self, f: &mut std::fmt::Formatter)