[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-28 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray updated this revision to Diff 140188. lichray added a comment. More tests Repository: rCXX libc++ https://reviews.llvm.org/D44865 Files: include/variant test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp test/std/utilities/variant/variant.variant/variant.ctor/

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-28 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. This LGTM. However, we should add tests for `const bool` and `volatile bool` before committing. Also I would like @mclow.lists input about applying this DR early since LWG hasn't commented on it yet. Repository: rCXX libc++ https://reviews.llvm.org/D44865 ___

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-27 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray updated this revision to Diff 140029. lichray added a comment. Macro-free Repository: rCXX libc++ https://reviews.llvm.org/D44865 Files: include/variant test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp test/std/utilities/variant/variant.variant/variant.ctor/

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray added inline comments. Comment at: include/variant:1109 +#define _LIBCPP_VARIANT_BOOLEAN_CONVERSION(bool_type)\ +template\ EricWF wrote: > lichray wrote: > > EricWF wrote: > > > lichray

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/variant:1109 +#define _LIBCPP_VARIANT_BOOLEAN_CONVERSION(bool_type)\ +template\ lichray wrote: > EricWF wrote: > > lichray wrote: > > > EricWF

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/variant:1109 +#define _LIBCPP_VARIANT_BOOLEAN_CONVERSION(bool_type)\ +template\ lichray wrote: > EricWF wrote: > > EricWF wrote: > > > I would

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray added inline comments. Comment at: include/variant:1109 +#define _LIBCPP_VARIANT_BOOLEAN_CONVERSION(bool_type)\ +template\ lichray wrote: > EricWF wrote: > > EricWF wrote: > > > I would

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray updated this revision to Diff 139882. lichray added a comment. Keep changes small Repository: rCXX libc++ https://reviews.llvm.org/D44865 Files: include/variant test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp test/std/utilities/variant/variant.variant/varia

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray marked an inline comment as done. lichray added a comment. In https://reviews.llvm.org/D44865#1048880, @EricWF wrote: > Has this paper been adopted into the standard yet? No. However, it cleanly passed LEWG for recommending a DR against C++17, so I think we can apply it early, just li

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/variant:1109 +#define _LIBCPP_VARIANT_BOOLEAN_CONVERSION(bool_type)\ +template\ EricWF wrote: > I would like to see a version of this patch tha

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-26 Thread Eric Fiselier via Phabricator via cfe-commits
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 `

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-24 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray updated this revision to Diff 139704. lichray added a comment. Use less traits Repository: rCXX libc++ https://reviews.llvm.org/D44865 Files: include/variant test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp test/std/utilities/variant/variant.variant/variant.

[PATCH] D44865: [libc++] Implement P0608R1 - A sane variant converting constructor

2018-03-24 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray created this revision. lichray added reviewers: EricWF, mpark, mclow.lists. Herald added a subscriber: christof. "Boolshit shall not prevail," LEWG says. References: http://wg21.link/P0608R1 Repository: rCXX libc++ https://reviews.llvm.org/D44865 Files: include/variant test/std