Remove support for logging types via ToLogString extension
To have a single way of describing how to log a custom type: AbslStringify
Bug: None
Change-Id: I6a4a6db455685be01bff1b6eeddc121b4ea51b77
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364901
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43189}
diff --git a/rtc_base/checks.h b/rtc_base/checks.h
index f820789..5842d588 100644
--- a/rtc_base/checks.h
+++ b/rtc_base/checks.h
@@ -218,14 +218,8 @@
return {static_cast<absl::underlying_type_t<T>>(x)};
}
-template <typename T, std::enable_if_t<has_to_log_string_v<T>>* = nullptr>
-ToStringVal MakeVal(const T& x) {
- return {ToLogString(x)};
-}
-
template <typename T,
- std::enable_if_t<absl::HasAbslStringify<T>::value &&
- !has_to_log_string_v<T>>* = nullptr>
+ std::enable_if_t<absl::HasAbslStringify<T>::value>* = nullptr>
ToStringVal MakeVal(const T& x) {
return {absl::StrCat(x)};
}
diff --git a/rtc_base/logging.h b/rtc_base/logging.h
index d5be6b1..199efeb 100644
--- a/rtc_base/logging.h
+++ b/rtc_base/logging.h
@@ -331,14 +331,8 @@
}
#endif
-template <typename T, absl::enable_if_t<has_to_log_string<T>::value>* = nullptr>
-ToStringVal MakeVal(const T& x) {
- return {ToLogString(x)};
-}
-
template <typename T,
- std::enable_if_t<absl::HasAbslStringify<T>::value &&
- !has_to_log_string<T>::value>* = nullptr>
+ std::enable_if_t<absl::HasAbslStringify<T>::value>* = nullptr>
ToStringVal MakeVal(const T& x) {
return {absl::StrCat(x)};
}
@@ -351,7 +345,6 @@
std::enable_if_t<std::is_class<T1>::value && //
!std::is_same<T1, std::string>::value && //
!std::is_same<T1, LogMetadata>::value && //
- !has_to_log_string<T1>::value && //
!absl::HasAbslStringify<T1>::value &&
#ifdef WEBRTC_ANDROID
!std::is_same<T1, LogMetadataTag>::value && //
diff --git a/rtc_base/logging_unittest.cc b/rtc_base/logging_unittest.cc
index 9e6f297..1186e4f 100644
--- a/rtc_base/logging_unittest.cc
+++ b/rtc_base/logging_unittest.cc
@@ -389,20 +389,5 @@
LogMessage::RemoveLogToStream(&stream);
}
-struct TestStruct {};
-std::string ToLogString(TestStruct foo) {
- return "bar";
-}
-
-TEST(LogTest, ToLogStringUsedForUnknownTypes) {
- std::string str;
- LogSinkImpl stream(&str);
- LogMessage::AddLogToStream(&stream, LS_INFO);
- TestStruct t;
- RTC_LOG(LS_INFO) << t;
- EXPECT_THAT(str, ::testing::HasSubstr("bar"));
- LogMessage::RemoveLogToStream(&stream);
-}
-
} // namespace rtc
#endif // RTC_LOG_ENABLED()
diff --git a/rtc_base/type_traits.h b/rtc_base/type_traits.h
index e040e60..8f90a88 100644
--- a/rtc_base/type_traits.h
+++ b/rtc_base/type_traits.h
@@ -37,16 +37,6 @@
static constexpr bool value = std::is_same<decltype(Test<DS>(0)), int>::value;
};
-template <typename T, typename = void>
-struct has_to_log_string : std::false_type {};
-template <typename T>
-struct has_to_log_string<T,
- std::enable_if_t<std::is_convertible_v<
- decltype(ToLogString(std::declval<T>())),
- std::string>>> : std::true_type {};
-template <typename T>
-constexpr bool has_to_log_string_v = has_to_log_string<T>::value;
-
namespace test_has_data_and_size {
template <typename DR, typename SR>