On Tuesday, January 13, 2026, Thiago Macieira wrote:


  if (decltype(auto) x = SomeFunction()) return !x;



I've used "decltype(auto)" as the return type of a function but not like this.

Anyway it would be more readable as:

    return false if SomeFunction();

In this context the 'false' really means 'inverted'. I don't know if that would bug people too much.

I do realise that I'm not adding any functionality to the language; this is just about readability and convenience. Sort of like how we can now do:

    auto [ a, b ] = Func();

instead of:

    auto mypair = Func();
    auto &a = mypair.first;
    auto &b = mypair.second;

No new functionality added but it's handy and looks nice.