https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104111

Eric Estievenart <steve+gcc at tecwec dot eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steve+gcc at tecwec dot eu

--- Comment #9 from Eric Estievenart <steve+gcc at tecwec dot eu> ---
By the way, the following code exhibits another related weirdness, without
access control being involved:
```
#include <concepts>
struct Op
{
        void operator()( auto x ) const = delete; // want only explicit
customization in scope
};

struct S {};
static_assert( !std::invocable<Op, S> );
template<> void Op::operator()( S ) const {}  // now Op is invocable on S
static_assert( std::invocable<Op, S> );       // so should not fail ! but...
```
(https://godbolt.org/z/Wa6rxeMvP)

Commenting the first assert makes the second suddenly pass...

Quantum physicist would say "spooky action at a distance" ;-)
Hope this helps,
Best.
  • [Bug c++/104111] [DR2589] Concep... steve+gcc at tecwec dot eu via Gcc-bugs

Reply via email to