rust / intermediate
Snippet
Mehrere Trait-Grenzen mit dem + Operator
Trait-Grenzen können mit + kombiniert werden, um zu erfordern, dass ein Typ mehrere Traits implementiert. Dies ermöglicht es Funktionen, Funktionalität aus mehreren Traits gleichzeitig zu nutzen und bietet Flexibilität bei generischen Einschränkungen.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
use std::fmt::{Debug, Display};fn print_debug<T>(item: &T)whereT: Debug + Display,{println!("Debug: {:?}, Display: {}", item, item);}fn main() {let num = 42;print_debug(&num);}
Erklärung
1
T: Debug + Display,
Typ T muss sowohl das Debug als auch das Display Trait implementieren
2
println!("Debug: {:?}, Display: {}", item, item);
Kann sowohl Debug- als auch Display-Formatierung auf item aufrufen