You don't need a new programming language for something that C++ templates with integer constants give you for free.
If rust ever gets more complete const generics, then things like tiny-uom might work.
- you define addition and subtraction between objects of one type returning an object of the same type;
- you define multiplication and division as returning an object of a type with the dimensions summed or subtracted;
- and you get dimensional correctness via type safety.