Skip to content

Commit b5c6588

Browse files
[ADT] Simplify enable_if_struct_deref_supported (NFC) (#159939)
This patch simplifies enable_if_struct_deref_supported by using a default template parameter as a temporary type alias. This way, we do not have to repeat decltype(...).
1 parent a36a1ec commit b5c6588

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

llvm/include/llvm/ADT/fallible_iterator.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,9 @@ namespace llvm {
6767
/// without requiring redundant error checks.
6868
template <typename Underlying> class fallible_iterator {
6969
private:
70-
template <typename T>
71-
using enable_if_struct_deref_supported = std::enable_if_t<
72-
!std::is_void<decltype(std::declval<T>().operator->())>::value,
73-
decltype(std::declval<T>().operator->())>;
70+
template <typename T, typename U = decltype(std::declval<T>().operator->())>
71+
using enable_if_struct_deref_supported =
72+
std::enable_if_t<!std::is_void_v<U>, U>;
7473

7574
public:
7675
/// Construct a fallible iterator that *cannot* be used as an end-of-range

0 commit comments

Comments
 (0)