aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp
diff options
context:
space:
mode:
authordtorilov <dtorilov@yandex-team.com>2024-08-20 14:27:10 +0300
committerdtorilov <dtorilov@yandex-team.com>2024-08-20 15:05:23 +0300
commitf5f12e973b10c3b7f6966da0dc6b9273125dfe79 (patch)
tree209398b0f648d0bbcad84799dad2287b1e9e16df /library/cpp
parent8adfc2f460167ff853d657246cb553877a9b8795 (diff)
downloadydb-f5f12e973b10c3b7f6966da0dc6b9273125dfe79.tar.gz
Revert "YT-21306: Add EnumHasDefaultValue"
This reverts commit d9b67f1778da2d15dd94f7285afe4e3490a233ab, reversing changes made to 461a09e0c18bd14cef7df8060e7f9537e3ad74b5. 92cdaf4185661b7058f6a30d5a532ad40b725345
Diffstat (limited to 'library/cpp')
-rw-r--r--library/cpp/yt/misc/cast-inl.h4
-rw-r--r--library/cpp/yt/misc/enum.h14
-rw-r--r--library/cpp/yt/string/enum-inl.h5
3 files changed, 0 insertions, 23 deletions
diff --git a/library/cpp/yt/misc/cast-inl.h b/library/cpp/yt/misc/cast-inl.h
index 795682864f..a694394f88 100644
--- a/library/cpp/yt/misc/cast-inl.h
+++ b/library/cpp/yt/misc/cast-inl.h
@@ -124,10 +124,6 @@ T CheckedEnumCast(S value)
{
T result;
if (!TryEnumCast<T>(value, &result)) {
- if constexpr (TEnumHasDefaultValue<T>::value) {
- return GetDefaultValue(T{});
- }
-
throw TSimpleException(Sprintf("Error casting %s value \"%d\" to enum %s",
TypeName<S>().c_str(),
static_cast<int>(value),
diff --git a/library/cpp/yt/misc/enum.h b/library/cpp/yt/misc/enum.h
index 11e168948f..954b63cbc0 100644
--- a/library/cpp/yt/misc/enum.h
+++ b/library/cpp/yt/misc/enum.h
@@ -197,20 +197,6 @@ constexpr bool None(E value) noexcept;
////////////////////////////////////////////////////////////////////////////////
-template <typename E, typename = void>
- requires TEnumTraits<E>::IsEnum
-struct TEnumHasDefaultValue
- : std::false_type
-{ };
-
-template <typename E>
- requires TEnumTraits<E>::IsEnum
-struct TEnumHasDefaultValue<E, std::void_t<decltype(GetDefaultValue(std::declval<E>()))>>
- : std::is_same<decltype(GetDefaultValue(std::declval<E>())), E>
-{ };
-
-////////////////////////////////////////////////////////////////////////////////
-
} // namespace NYT
#define ENUM_INL_H_
diff --git a/library/cpp/yt/string/enum-inl.h b/library/cpp/yt/string/enum-inl.h
index 19ba1f7fe5..41f7197d15 100644
--- a/library/cpp/yt/string/enum-inl.h
+++ b/library/cpp/yt/string/enum-inl.h
@@ -87,11 +87,6 @@ T ParseEnum(TStringBuf value)
if (auto optionalResult = TryParseEnum<T>(value)) {
return *optionalResult;
}
-
- if constexpr (TEnumHasDefaultValue<T>::value) {
- return GetDefaultValue(T{});
- }
-
NYT::NDetail::ThrowMalformedEnumValueException(TEnumTraits<T>::GetTypeName(), value);
}