Re: Seeking Endorsement: Boost.int128

Peter Dimov via Boost <[email protected]>
Newsgroups gmane.comp.lib.boost.devel
Message-ID <[email protected]>
Matt Borland wrote:
> > I have doubts regarding the signed/unsigned comparison behavior
> > deviation described here:
> >
> 
> > https://develop.int128.cpp.al/uint128_t.html#uint128_t_sign_compare_behavior_deviation
> >
> 
> > While I understand the reasons for wanting to implement comparison
> > this way, I thing I would rather prefer to keep the behavior
> > consistent with the rest of integer types. That is, make it the same
> > as for built-in integer types.
> 
> 
> It is the same behavior as the built-in types have when you set -Werror -
> Wsign-conversion -Wconversion which I think is uncontroversial to say is best
> practice. If this is behavior is removed from the library, then when a user does
> set the aforementioned flags they will not apply to mixed library type - builtin
> type operations which I think is the bigger risk. All of the analysis is static; there
> is zero runtime overhead introduced by these checks.

This isn't a good idea and will inevitably be rolled back eventually. The behavior
of the library types should match _exactly_ the behavior of the built-in types
when they exist (and there should be tests for that.) Doing otherwise, however
well intentioned, will cause more problems than it solves.


_______________________________________________
Boost mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.boost.org/mailman3/lists/boost.lists.boost.org/
Archived at: https://lists.boost.org/archives/list/[email protected]/message/NQEQJGODRKLVXE32U6WJNS3R7JNBZXWC/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.