Defining and Implementing Traits
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());
}