EricWF added a comment. Has this paper been adopted into the standard yet?
================ Comment at: include/variant:1097 +{ + static void test(); +}; ---------------- I see no need to stop using `operator()` in favor of a static function. Is there a reason? Also this would have to be `__test`. ================ Comment at: include/variant:1109 +#define _LIBCPP_VARIANT_BOOLEAN_CONVERSION(bool_type) \ + template <class... _Types> \ ---------------- I would like to see a version of this patch that doesn't use preprocessor expansion to specialize `__overload` multiple times. Perhaps adding a `bool = is_same<remove_cv_t<First>, bool>` to `__overload` and then specializing once on that? Repository: rCXX libc++ https://reviews.llvm.org/D44865 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits