Skip to content
Snippets Groups Projects
Commit 50a16954 authored by Benjamin Cumming's avatar Benjamin Cumming
Browse files

merge master

parents 8c00741d 771cf169
No related branches found
No related tags found
No related merge requests found
...@@ -226,6 +226,13 @@ namespace detail { ...@@ -226,6 +226,13 @@ namespace detail {
template <typename T> template <typename T>
using enable_unless_optional_t = enable_if_t<!is_optional<T>::value>; using enable_unless_optional_t = enable_if_t<!is_optional<T>::value>;
// avoid nonnull address warnings when using operator| with e.g. char array constants
template <typename T>
bool decay_bool(const T* x) { return static_cast<bool>(x); }
template <typename T>
bool decay_bool(const T& x) { return static_cast<bool>(x); }
} // namespace detail } // namespace detail
template <typename X> template <typename X>
...@@ -398,7 +405,7 @@ typename std::enable_if< ...@@ -398,7 +405,7 @@ typename std::enable_if<
> >
>::type >::type
operator|(A&& a,B&& b) { operator|(A&& a,B&& b) {
return a ? a : b; return detail::decay_bool(a) ? a : b;
} }
template <typename A,typename B> template <typename A,typename B>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment