RosettaCodeData/Task/Conditional-structures/Rust/conditional-structures-3.rust

29 lines
465 B
Plaintext

trait PrintType {
fn print_type(&self);
}
impl PrintType for char {
fn print_type(&self) {
println!("char");
}
}
impl PrintType for f64 {
fn print_type(&self) {
println!("64-bit float");
}
}
fn prints_type_of_args<T, U>(arg1: &T, arg2: &U)
where T: PrintType,
U: PrintType
{
arg1.print_type();
arg2.print_type();
}
fn main() {
prints_type_of_args(&'a', &2.0);
prints_type_of_args(&'a', &'b');
}