트레잇 상속하기

지원되는 트레잇은 다음과 같이 맞춤 타입에 자동으로 구현할 수 있습니다.

#[derive(Debug, Clone, Default)]
struct Player {
    name: String,
    strength: u8,
    hit_points: u8,
}

fn main() {
    let p1 = Player::default(); // 기본 트레잇은 `default` 생성자를 추가합니다.
    let mut p2 = p1.clone(); // Clone 트레잇은 `clone` 메서드를 추가합니다.
    p2.name = String::from("EldurScrollz");
    // Debug 트레잇은 `{:?}` 표현을 사용한 출력을 지원합니다.
    println!("{:?} 대 {:?}", p1, p2);
}
This slide should take about 3 minutes.

상속은 매크로를 사용하여 구현되며 많은 크레이트가 유용한 상속 매크로를 제공하여 유용한 기능을 추가합니다. 예를 들어 serde#[derive(Serialize)]를 사용하여 구조체의 직렬화 지원을 상속할 수 있습니다.