lichray marked an inline comment as done.
lichray added a comment.

In D44865#1535823 <https://reviews.llvm.org/D44865#1535823>, @zoecarver wrote:

> - the spacing is different from the rest of libc++ (a lot of it was that way 
> before).


That's not something I can "fix" in this patch :(

> - since this is a paper it should probably be guarded with `#if 
> _LIBCPP_STD_VER > 17`

Marshall and me agreed that we are going to apply the paper as a "bugfix." We 
don't want to make the constructor behave differently under different language 
versions.

> - update the status in `www`.

Done.



================
Comment at: include/variant:1110
+template <class _Base, class _Tp>
+struct __overload_bool : _Base {
+  using _Base::operator();
----------------
zoecarver wrote:
> Is this structure 100% necessary? Couldn't `__overload` add an overload to 
> take care of `bool`s? Maybe something like this:
>  
> ```
>   template<class _Up>
>   auto operator()(_Tp, _Up&&) const
>     ->  enable_if_t<
>             is_same_v<__uncvref_t<_Up>, bool>,
>             __identity<_Tp>
>         >;
> ```
I'm trying to reduce the compile time cost of SFINAE by putting the bool 
handling logic in specializations.


Repository:
  rCXX libc++

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D44865/new/

https://reviews.llvm.org/D44865



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to