3 comments

[ 3.4 ms ] story [ 19.2 ms ] thread
For what it's worth, with the uom[0] crate you can represent that type equality. It represents units as powers of SI units, so m^1s^-2. It does not have the nice error messages though

[0] https://docs.rs/uom/latest/uom/

Author has made significant contributions to Rust. This is a very serious article.
Having refinement types in Rust would be a massive game changer. It would make it possible to write proven correct software directly in Rust. Hey even I would switch from C++ to Rust :)