diff --git a/chaotic/include/userver/chaotic/sax_parser/enum.hpp b/chaotic/include/userver/chaotic/sax_parser/enum.hpp index adb31afff7fa..74fcd9700535 100644 --- a/chaotic/include/userver/chaotic/sax_parser/enum.hpp +++ b/chaotic/include/userver/chaotic/sax_parser/enum.hpp @@ -67,10 +67,15 @@ struct IsStringEnum -std::enable_if_t< - std::is_enum_v, - std::conditional_t::value, impl::StringEnumParser, impl::IntEnumParser>> - ParserOf(Type); + requires std::is_enum_v +auto ParserOf(Type) +{ + if constexpr (impl::IsStringEnum::value) { + return impl::StringEnumParser{}; + } else { + return impl::IntEnumParser {}; + } +} } // namespace chaotic::sax