STL icon indicating copy to clipboard operation
STL copied to clipboard

<complex>: Remove complex<NonFloating>

Open AlexGuteniev opened this issue 5 years ago • 4 comments
trafficstars

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.

AlexGuteniev avatar Jul 23 '20 04:07 AlexGuteniev

@StephanTLavavej , does it mean that vNext is allowed to purposely break some Real World Code?

AlexGuteniev avatar Jul 23 '20 04:07 AlexGuteniev

Yes; in addition to the bincompat breaks, source compat breaks are acceptable when they have a purpose and are worth the disruption they cause.

StephanTLavavej avatar Jul 23 '20 04:07 StephanTLavavej

Maybe delete with static_assert instead ofjust not defining

AlexGuteniev avatar Aug 14 '21 06:08 AlexGuteniev

It is no longer vNext I guess

AlexGuteniev avatar Sep 30 '24 17:09 AlexGuteniev