diff options
-rw-r--r-- | llvm/include/llvm/ADT/STLExtras.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/include/llvm/ADT/STLExtras.h b/llvm/include/llvm/ADT/STLExtras.h index 28f75949373..06a1756e26f 100644 --- a/llvm/include/llvm/ADT/STLExtras.h +++ b/llvm/include/llvm/ADT/STLExtras.h @@ -117,7 +117,9 @@ public: iterator_category; typedef typename std::iterator_traits<RootIt>::difference_type difference_type; - typedef typename UnaryFunc::result_type value_type; + typedef typename std::result_of< + UnaryFunc(decltype(*std::declval<RootIt>()))> + ::type value_type; typedef void pointer; //typedef typename UnaryFunc::result_type *pointer; |