DEV Community

Discussion on: Blog post: First Kata: "Multiply"

jeikabu profile image

Not sure if this is in the spirit of code kata, but it was something I've meant to look into. To make it work for most types:

fn multiply<T: std::ops::Mul>(lhs: T, rhs: T) -> T::Output {
    lhs * rhs

fn main() {
    assert_eq!(multiply(2u32, 3u32), 6);
    assert_eq!(multiply(2u16, 3u16), 6);
    assert_eq!(multiply(std::u8::MAX, 1), std::u8::MAX);
jonasbn profile image
jonasbn Author

Well it is not exactly fight club, so I guess we can talk about everything.

I was thinking about something along the lines of what you suggest and I am on the process of working on a write up of another example, based on another small prototype. I just can not find the time to get the post written.

Your example really got me thinking about the whole type-hype, coming from Perl it very different from what I am used to.

Thanks for the example and suggestion, it gave me some perspective and some Rust code to read and reflect on.