Date: Mon, 20 Apr 2026 22:07:25 +0100
On 20 April 2026 16:33:16 BST, Dragan Grbic via Std-Proposals <std-proposals_at_[hidden]> wrote:
>bool comparison to pointers or any integer types will never be removed from
>language, as it would break a lot of perfectly good code (e.g. if (ptr)...
>instead if (ptr != nullptr)... ).
That context explicitly converts to bool, so removing only implicit conversion wouldn't break your example.
>For default parameters, avoid use of bool - use strong type (e.g. class
>enum type with two adequately named constants, see for instance
>https://www.sandordargo.com/blog/2022/04/06/use-strong-types-instead-booleans
>for example).
>
>On Mon, Apr 20, 2026 at 5:26 PM Alejandro Colomar via Std-Proposals <
>std-proposals_at_[hidden]> wrote:
>
>> Hi,
>>
>> On 2026-04-20T20:00:44+0500, Muneem via Std-Proposals wrote:
>> > Relying on external tools for reporting errors is always unreliable.
>>
>> Why would clang-tidy(1) be unrealiable??
>>
>> > What
>> > one would need is standard adapter. Using macros or external tools for
>> > something as simple as an adaptor should be avoided. Until c++ provides
>> > adaptors, I would say make it yourself. It's simple:
>> > 1.that is to make an adaptor where you make all default copy constructors
>> > and copy assignment operators explicit.
>> > 2.provide a conversion operators to bool that returns the underlying bool
>> > 3. constructor that takes a bool argument and constructs the underlying
>> > bool.
>> > Problem fixed, right?
>> > No need for macros.
>>
>> No, thanks. Overloading operators is something you will never see me
>> doing.
>>
>> As Ville said, there's std::same_as<>.
>>
>>
>> Cheers,
>> Alex
>>
>> --
>> <https://www.alejandro-colomar.es>
>> --
>> Std-Proposals mailing list
>> Std-Proposals_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>>
>bool comparison to pointers or any integer types will never be removed from
>language, as it would break a lot of perfectly good code (e.g. if (ptr)...
>instead if (ptr != nullptr)... ).
That context explicitly converts to bool, so removing only implicit conversion wouldn't break your example.
>For default parameters, avoid use of bool - use strong type (e.g. class
>enum type with two adequately named constants, see for instance
>https://www.sandordargo.com/blog/2022/04/06/use-strong-types-instead-booleans
>for example).
>
>On Mon, Apr 20, 2026 at 5:26 PM Alejandro Colomar via Std-Proposals <
>std-proposals_at_[hidden]> wrote:
>
>> Hi,
>>
>> On 2026-04-20T20:00:44+0500, Muneem via Std-Proposals wrote:
>> > Relying on external tools for reporting errors is always unreliable.
>>
>> Why would clang-tidy(1) be unrealiable??
>>
>> > What
>> > one would need is standard adapter. Using macros or external tools for
>> > something as simple as an adaptor should be avoided. Until c++ provides
>> > adaptors, I would say make it yourself. It's simple:
>> > 1.that is to make an adaptor where you make all default copy constructors
>> > and copy assignment operators explicit.
>> > 2.provide a conversion operators to bool that returns the underlying bool
>> > 3. constructor that takes a bool argument and constructs the underlying
>> > bool.
>> > Problem fixed, right?
>> > No need for macros.
>>
>> No, thanks. Overloading operators is something you will never see me
>> doing.
>>
>> As Ville said, there's std::same_as<>.
>>
>>
>> Cheers,
>> Alex
>>
>> --
>> <https://www.alejandro-colomar.es>
>> --
>> Std-Proposals mailing list
>> Std-Proposals_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>>
Received on 2026-04-20 21:07:32
