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

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Or simply:

  template <typename TArg, typename F>
  void accept(F f) {
    functions[std::type_index(typeid(TArg))]
      = [f](std::any &x) -> TReturn { return f(std::any_cast<TArg &>(x)); };
  }

Reply via email to