Re: [PATCH] PR libstdc++/89164 enforce constraints for uninitialized algos

2019-08-30 Thread Jonathan Wakely
On 30/08/19 14:54 +0100, Jonathan Wakely wrote: The memmove optimizations for std::uninitialized_copy/fill/_n will compile even if the type is not copy constructible, because std::copy doesn't require copy construction to work. But the uninitialized algorithms do require it. This adds explicit s

[PATCH] PR libstdc++/89164 enforce constraints for uninitialized algos

2019-08-30 Thread Jonathan Wakely
The memmove optimizations for std::uninitialized_copy/fill/_n will compile even if the type is not copy constructible, because std::copy doesn't require copy construction to work. But the uninitialized algorithms do require it. This adds explicit static assertions to ensure we don't allow ill-for

[PATCH] PR libstdc++/89164 enforce constraints for uninitialized algos

2019-02-06 Thread Jonathan Wakely
The memmove optimizations for std::uninitialized_copy/fill/_n will compile even if the type is not copy constructible, because std::copy doesn't require copy construction to work. But the uninitialized algorithms do require it. This adds explicit static assertions to ensure we don't allow ill-for