This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [PATCH] Simplify the base characteristics for some type traits
- From: Ville Voutilainen <ville dot voutilainen at gmail dot com>
- To: Jonathan Wakely <jwakely at redhat dot com>
- Cc: "libstdc++" <libstdc++ at gcc dot gnu dot org>, gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 19 Jul 2018 21:40:45 +0300
- Subject: Re: [PATCH] Simplify the base characteristics for some type traits
- References: <20180719171804.GA3781@redhat.com>
On 19 July 2018 at 20:18, Jonathan Wakely <jwakely@redhat.com> wrote:
> This removes some seemingly redundant conditions from a few traits. If
> __is_trivially_assignable correctly checks the assignable condition as
> well as triviality, then we don't need is_assignable explicitly. Does
> anybody see a problem with that
It should work; if it doesn't, that's a bug in the compiler. Both
is_constructible
and is_assignable and trivial variants thereof go to the same
"is_xible" code path,
so it should be fair for the library to expect that it all works. In
case it doesn't,
that's something that I will fix in the front-end.
> I added some extra tests for cases that had been problematic with
> __is_trivially_constructible.
That seems reasonable; some of those tests are now duplicated on the
compiler side,
but I think that's fine.