[PATCH] D6762: [libcxx] Add <experimental/any> v2.

Marshall Clow mclow.lists at gmail.com
Wed Jul 22 08:20:02 PDT 2015


mclow.lists added a comment.

One issue and a few nits.


================
Comment at: src/any.cpp:18
@@ +17,3 @@
+}
+
+_LIBCPP_END_NAMESPACE_LFTS
----------------
Because of arcane packaging issues, we put the exception classes in an unversioned namespace and the destructors in the the dylib as well.   See <optional> implementation.

      _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL
      const char* bad_any_cast::what() const _NOEXCEPT
      {
          return "bad any cast";
      }

      bad_any_cast::~ bad_any_cast() _NOEXCEPT {}
      _LIBCPP_END_NAMESPACE_EXPERIMENTAL

This will require a change in the header file as well

================
Comment at: test/std/experimental/any/any.class/any.assign/copy.pass.cpp:194
@@ +193,1 @@
+}
\ No newline at end of file

----------------
Should probably fix this. (add newline)

================
Comment at: test/std/experimental/any/any.class/any.assign/move.pass.cpp:102
@@ +101,1 @@
+}
\ No newline at end of file

----------------
and this (newline)

================
Comment at: test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp:42
@@ +41,3 @@
+        any a(s);
+
+        a.clear();
----------------
I think that adding an `assertNotEmpty<small>(a)` here (and on line #52) will make the test better.

For completeness, you could add `assertEmpty(a)` on line #34 as well.


http://reviews.llvm.org/D6762







More information about the cfe-commits mailing list