diff --git a/cppwinrt/file_writers.h b/cppwinrt/file_writers.h index 5168d8d7f..ed9386b4e 100644 --- a/cppwinrt/file_writers.h +++ b/cppwinrt/file_writers.h @@ -77,6 +77,7 @@ namespace cppwinrt w.write_each(members.classes); w.write_each(members.structs); w.write_each(members.delegates); + w.write_each(members.contracts); } { auto wrap_impl = wrap_impl_namespace(w); @@ -89,11 +90,13 @@ namespace cppwinrt // Class names are always required for activation. // Class, enum, and struct names are required for producing GUIDs for generic types. // Interface and delegates names are required for Xaml compatibility. + // Contract names are used by IsApiContractPresent. w.write_each(members.classes); w.write_each(members.enums); w.write_each(members.structs); w.write_each(members.interfaces); w.write_each(members.delegates); + w.write_each(members.contracts); w.write_each(members.interfaces); w.write_each(members.delegates); diff --git a/test/test/names.cpp b/test/test/names.cpp index 7730fe82e..5d978a825 100644 --- a/test/test/names.cpp +++ b/test/test/names.cpp @@ -16,4 +16,5 @@ TEST_CASE("names") check_terminated(name_of()); check_terminated(name_of>()); check_terminated(name_of>()); + check_terminated(name_of()); }