diff --git a/llvm/include/llvm/ADT/fallible_iterator.h b/llvm/include/llvm/ADT/fallible_iterator.h index b42f62b67fd66..76fa054f2eb94 100644 --- a/llvm/include/llvm/ADT/fallible_iterator.h +++ b/llvm/include/llvm/ADT/fallible_iterator.h @@ -67,10 +67,9 @@ namespace llvm { /// without requiring redundant error checks. template class fallible_iterator { private: - template - using enable_if_struct_deref_supported = std::enable_if_t< - !std::is_void().operator->())>::value, - decltype(std::declval().operator->())>; + template ().operator->())> + using enable_if_struct_deref_supported = + std::enable_if_t, U>; public: /// Construct a fallible iterator that *cannot* be used as an end-of-range