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

Reply via email to