Defining and Implementing Traits

Updated

October 31, 2026

Defining and Implementing Traits

Traits define shared behavior analogous to interfaces:

pub trait Summary {
    fn summarize(&self) -> String;
}

pub struct Article {
    pub headline: String,
}

impl Summary for Article {
    fn summarize(&self) -> String {
        format!("Headline: {}", self.headline)
    }
}

fn main() {
    let a = Article { headline: "Rust 2026 Ships".into() };
    println!("{}", a.summarize());
}