On 31/01/2020 10:23, Kaganski Mike wrote:
My take on this is https://gerrit.libreoffice.org/c/core/+/87762. I can see why it might be considered wrong and rejected (e.g., because overhead it brings is unacceptable; or because asserting on valid range is considered correct...) - but at least this would not (unless I made a programming error) give wrong results, not "I believe I will never meet values outside of this range".
If you want to follow down the "Unsigned considered harmful" path, another option that may long-term prove more fruitful then that o3tl::make_signed could be an o3tl::ssize mimicing C++20 std::ssize (<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1227r2.html> "P1227: Signed ssize() functions, unsigned size() functions (Revision 2)"; and being replaced by the true std::ssize once generally available), and updating relevant places in the code to use that. (Where occurrences of o3tl::make_unsigned would likely be good starting points to hunt for such places. As discussed elsewhere in this thread, that should get rid of many, if not most of the current uses of o3tl::make_unsigned.)
_______________________________________________ LibreOffice mailing list LibreOffice@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/libreoffice