I’m not very familiar with the manner in which this works in Boost. I have read the documentation and examples but I can be missing a number of things.
I have several concerns about the Boost implementation:
- it depends on magic constants, which must be globally unique across the entire application, which is Not Good (presumably for normalization, but I’m not sure);
- boost seems to provide auto-conversion between units, which is very much not in the spirit of Rust (hopefully, this can be removed);
- does the Boost implementation support any kind of inference?
Also, I’d like to see the error messages. Not that I don’t trust Boost to have human-readable error messages, but…