Remove workaround for Visual C++ code gen bug (#1118)

This commit is contained in:
Kenny Kerr 2022-03-11 11:26:43 -08:00 коммит произвёл GitHub
Родитель a7ee860e49
Коммит e0012b04cd
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 1 добавлений и 9 удалений

Просмотреть файл

@ -1197,17 +1197,9 @@ namespace cppwinrt
method_signature signature{ method };
auto async_types_guard = w.push_async_types(signature.is_async());
//
// Note: this use of a lambda is a workaround for a Visual C++ compiler bug:
// https://developercommunity.visualstudio.com/content/problem/554130/incorrect-code-gen-when-invoking-a-conversion-oper.html
// Once fixed, revert the function body back to this:
//
// return static_cast<% const&>(*this).%(%);
//
std::string_view format = R"( inline auto %::%(%) const%
{
return [&](% const& winrt_impl_base) { return winrt_impl_base.%(%); }(*this);
return static_cast<% const&>(*this).%(%);
}
)";