[PATCH] D60069: Declare std::tuple_element as struct instead of class

Jan Wilken Dörrie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 1 09:03:55 PDT 2019


jdoerrie added a comment.

In D60069#1449932 <https://reviews.llvm.org/D60069#1449932>, @mclow.lists wrote:

> In D60069#1449928 <https://reviews.llvm.org/D60069#1449928>, @mclow.lists wrote:
>
> > Did you check the places that inherit from  `tuple_element`? The public/private bits change between class and struct.
>
>
> Never mind. I was thinking of something else; I don't think that anything inherits from `tuple_element`


Right, there shouldn't be any inheritance. Some of the `public:` access specifications are now redundant, though. Instead of

  template <size_t I, class... Types>
  struct tuple_element<I, tuple<Types...> >
  {
  public:
      typedef Ti type;
  };

we could now simply say

  template <size_t I, class... Types>
  struct tuple_element<I, tuple<Types...> >
  {
      typedef Ti type;
  };


Repository:
  rCXX libc++

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

https://reviews.llvm.org/D60069





More information about the cfe-commits mailing list