STL
STL copied to clipboard
<complex>: Remove complex<NonFloating>
std::complex<NonFoating> does not work as user may expect.
The Standard only specifies the behavior of std::complex<T> for cv-unqualified floating-point types T, so the implementation can have any behavior in this case, ranging from not compiling the instantiation at all to full support of non-standard floating-point types.
See #756 for more context.
An attempt was made to deprecate this extension. It did not work due to Real World Code test suite failing on NVIDIA/cutlass#104 See #889
This enhancement is the complete removal of the primary template. This is the ultimate version of #756 enhancement. This is not acceptable currently, but may be acceptable for ABI-breaking release.
vNext note: Resolving this issue will require breaking binary compatibility. We won't be able to accept pull requests for this issue until the vNext branch is available. See #169 for more information.
@StephanTLavavej , does it mean that vNext is allowed to purposely break some Real World Code?
Yes; in addition to the bincompat breaks, source compat breaks are acceptable when they have a purpose and are worth the disruption they cause.
Maybe delete with static_assert instead ofjust not defining
It is no longer vNext I guess