diff --git a/cppwinrt/component_writers.h b/cppwinrt/component_writers.h index ffafcf3db..7c026faa7 100644 --- a/cppwinrt/component_writers.h +++ b/cppwinrt/component_writers.h @@ -478,15 +478,15 @@ catch (...) { return winrt::to_hresult(); } if (is_add_overload(method) || is_remove_overload(method)) { - auto format = R"( auto %::%(%) + auto format = R"( % %::%(%) { auto f = make().as<%>(); return f.%(%); } )"; - w.write(format, + signature.return_signature(), type_name, method_name, bind(signature), diff --git a/test/test_component/Simple.h b/test/test_component/Simple.h index f2d5dd1fa..0d97f5e1b 100644 --- a/test/test_component/Simple.h +++ b/test/test_component/Simple.h @@ -12,6 +12,10 @@ namespace winrt::test_component::implementation Windows::Foundation::IAsyncOperation Operation(Windows::Foundation::DateTime value); Windows::Foundation::IAsyncAction Action(Windows::Foundation::DateTime value); Windows::Foundation::IInspectable Object(Windows::Foundation::DateTime const& value); + + // All we care about static events (for now) is that they build. + static event_token StaticEvent(Windows::Foundation::EventHandler const&) { return {}; } + static void StaticEvent(event_token) { } }; } namespace winrt::test_component::factory_implementation diff --git a/test/test_component/test_component.idl b/test/test_component/test_component.idl index 46332f39e..d4beb1cd6 100644 --- a/test/test_component/test_component.idl +++ b/test/test_component/test_component.idl @@ -54,6 +54,7 @@ namespace test_component Windows.Foundation.IAsyncOperation Operation(Windows.Foundation.DateTime value); Windows.Foundation.IAsyncAction Action(Windows.Foundation.DateTime value); Object Object(Windows.Foundation.DateTime value); + static event Windows.Foundation.EventHandler StaticEvent; } runtimeclass DeferrableEventArgs