23.05 Traits and Generics

Traits and Generics

Overview

Traits define shared behavior, and generics allow for type abstraction in Rust.

Topics

Examples

trait Greet {
    fn greet(&self);
}

struct Person;
impl Greet for Person {
    fn greet(&self) {
        println!("Hello!");
    }
}

fn print_item<T: std::fmt::Debug>(item: T) {
    println!("{:?}", item);
}

let p = Person;
p.greet();

print_item(42);
print_item("Rust");

Tags

#rust #traits #generics