https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128582
Bug ID: 128582
Summary: Cannot make member pointer to move assignment operator
of lambda
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: eczbek.void at gmail dot com
Target Milestone: ---
https://godbolt.org/z/eh9cn8YsY
Clang and MSVC accept this, and it should be required by
https://eel.is/c++draft/expr.prim.lambda.closure#17.sentence-3
```
using T = decltype([] {});
T&(T::*p)(T&&) = &T::operator=;
```
```
<source>:2:18: error: cannot convert '<lambda()>&
(<lambda()>::*)(const<lambda()>&) noexcept' to 'T& (<lambda()>::*)(T&&)' {aka
'<lambda()>& (<lambda()>::*)(<lambda()>&&)'} in initialization
2 | T&(T::*p)(T&&) = &T::operator=;
| ^~~~~~~~~~~~~
```