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)... ).
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@lists.isocpp.org> 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@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals