Date: Tue, 18 Mar 2025 12:08:10 +0100
As I understand compared to `= delete` you want to make the reason the function is not there machine-readable and distinguish from an unrelated deleted function.
But all =deleted functions are unimplemented, and all [unimplemented] function would - according to your description - compile as if they were deleted.
What is the difference in meaning?
E.g. if one had
= deleted("message")
= unimplemented("message")
when would one choose one or the other? Aren't they synonymous?
= deleted could mean, it was there before (e.g. in an earlier version). But that is not how it is meant and used in practice.
= unimplemented could mean, it is planned to be implemented in the future?
-----Ursprüngliche Nachricht-----
Von:Samuel Alonso Rodríguez via Std-Proposals <std-proposals_at_[hidden]>
Gesendet:Di 18.03.2025 11:14
Betreff:Re: [std-proposals] unimplemented attribute
An:std-proposals_at_[hidden];
CC:Samuel Alonso Rodríguez <samuelalonso26_at_[hidden]>;
The fixed message stating that the function is unimplemented is the divergence from raw = delete, and sure, since C++26, users could simply do something like = delete(“unimplemented function!”), but the compiler outcome could differ and tools inspecting the compiler output may not be able to easily detect that
Received on 2025-03-18 11:13:26