diff --git a/cppwinrt/code_writers.h b/cppwinrt/code_writers.h index 968724dfa..22bdb16e1 100644 --- a/cppwinrt/code_writers.h +++ b/cppwinrt/code_writers.h @@ -1860,7 +1860,7 @@ struct __declspec(empty_bases) produce_dispatch_to_overridable static void write_interface_override_method(writer& w, MethodDef const& method, std::string_view const& interface_name) { - auto format = R"( template auto %T::%(%) const + auto format = R"( template WINRT_IMPL_AUTO(%) %T::%(%) const { return shim().template try_as<%>().%(%); } @@ -1870,6 +1870,7 @@ struct __declspec(empty_bases) produce_dispatch_to_overridable auto method_name = get_name(method); w.write(format, + signature.return_signature(), interface_name, method_name, bind(signature),