[libcxx-commits] [PATCH] D130853: [libc++] Remove `operator!=` from `type_info` in C++20

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Aug 3 09:44:03 PDT 2022


Mordante added a comment.

Thanks for working on this!

In D130853#3696297 <https://reviews.llvm.org/D130853#3696297>, @avogelsgesang wrote:

> Note that there are many more classes for which P1614R2 ("The mothership has landed") just removed the `operator!=` (typeinfo, allocator, memory_resource, polymorphic_allocator, bitset, scoped_allocator_adaptor,function, unordered_map, unordered_set, move_sentinel, common_iterator, unreachable_sentinel_t, ...).
>
> If you prefer, I could go over all of them in a single commit. Afaict, no test cases need changing, as the `operator!=` will be synthesized by the compiler and all test cases should still pass unchanged.

I think it makes sense to do `typeinfo` separately since that feels a more "sensetive" class.
We haven't fully implemented to `polymorphic_allocator` allocators yet so they are in the experimental directory. I prefer to do them separately too.

Feel free to do the others in one go. Can you also remove them from `chrono`? I haven't started on them yet.



================
Comment at: libcxx/include/typeinfo:25
     bool operator==(const type_info& rhs) const noexcept;
-    bool operator!=(const type_info& rhs) const noexcept;
+    bool operator!=(const type_info& rhs) const noexcept; // removed in C++20
 
----------------
Can you also update the Status page? Just add it to the page and mark it directly as complete.


================
Comment at: libcxx/include/typeinfo:342
 
     _LIBCPP_INLINE_VISIBILITY
     bool operator!=(const type_info& __arg) const _NOEXCEPT
----------------
This one should be updated too.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130853



More information about the libcxx-commits mailing list