CaseyCarter added a comment. In https://reviews.llvm.org/D32671#762840, @mpark wrote:
> @CaseyCarter: Do these changes pass with the current version? > Also, have you seen the tests in > `test/libcxx/utilities/variant/variant.variant`? > If yes, do those tests and the ones in this diff overlap at all? > Curious as to how we should merge them. Disclaimer: I know nothing about the libc++ <variant>, and I didn't realize there were tests in the libcxx tree for variant. These tests technically "pass" with the current version since they do nothing when testing libc++ - they're currently only enabled when testing the MSVC standard library. I hadn't bothered to try them with libc++ variant before, but when I do they all pass except for triviality_test of copy/move assignment with `NoCopy` as an alternative. Those results indicate to me that you already implement fine-grained SMF triviality, and the discrepancy with `NoCopy` is probably due to the lack of LWG2904. Taking a look at the libcxx tree tests: - There are SMF sfinae tests in these for (what is now) standard behavior that should be moved into the std tree tests. - Your `test_XXX_basic` tests are effectively testing the same behavior as these but with "is `constexpr`" as a proxy for "is trivial", and using more demonstrative code whereas mine only tests traits. I think I'd like to integrate those tests into the std tree, if that's ok with you. https://reviews.llvm.org/D32671 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits