Re:Hard Rust requirements from May onward for all Debian ports
by adwn on Saturday November 01, 2025 @04:07PM
(#45784896)
That's no problem in Rust. You can have a Speed type and a Time type, and define the multiplication operator over them to return a Length value. In fact, there's already a library which does exactly that, with tons of predefined SI units: https://docs.rs/uom/latest/uom/
IIUC, rust would NOT let you do a type checked m/s * s => m, so using the type system for these kinds of games is silly and dangerous (I presume you would have to do the dumb thing and typeconvert to the same type -- e.g.
to do multiplication which means you're inserting unscientific and reader-confusing type conversions all over the place)