On 09/12/24 13:13 +0000, Jonathan Wakely wrote:
On 09/12/24 13:08 +0100, Giuseppe D'Angelo wrote:
For PSTL, I've just chosen to port from is_trivial to the direct
equivalent, as I'm really unsure about the meaning of the code.
Yeah, I'm not sure either.
I note that the code uses std::conjunction instead of the non-portable
__and_. std::conjunction is only available in C++17 and upstream PSTL
wants to be valid as C++14 too (and maybe even C++11). But upstream
doesn't want to use our non-portable __and_ either, so we're in a bit
of a bind.
Actually it looks like upstream are happy to use C++17 features now
and have replace is_trivial<T>::value with is_trivial_v<T>@
https://github.com/oneapi-src/oneDPL/pull/1173
Next time we rebase the PSTL code on upstream, we'll pick that change
up.
It would still be good to make them aware of the is_trivial
deprecation by filing an issue.