https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111358
--- Comment #1 from Jiang An <de34 at live dot cn> --- Related issues: Monadic operations of expected are not ADL-proof per the uses of **this in [expected.object.monadic]. However, currently implementations make them ADL-proof by directly naming the union member, which is right IMO. P2407R5 (https://wg21.link/p2407r5) is changing value() to **this in [optional.monadic], which makes the monadic operations of optional not ADL-proof. I believe this is a mistake. I've mailed to LWG Chair to submit an LWG issue for these issues.