This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 6/9]: C++ P0482R5 char8_t: A small correction to a common testsuite header file


On 05/11/18 14:40 -0500, Tom Honermann wrote:
This patch corrects ambiguous partial specializations of typelist::detail::append_. Previously, neither append_<chain<Hd, Tl>, Typelist_Chain> nor append_<Typelist_Chain, null_type> was a better match for append_<chain<Hd, Tl>, null_type>.

libstdc++-v3/ChangeLog:

2018-11-04  Tom Honermann  <tom@honermann.net>

    * include/ext/typelist.h: Constrained a partial specialization of
      typelist::detail::append_ to only match chain<T1,T2>.

Tom.

Committed to trunk, thanks.


diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h
index b21f01ffb43..2cdbc3efafa 100644
--- a/libstdc++-v3/include/ext/typelist.h
+++ b/libstdc++-v3/include/ext/typelist.h
@@ -215,10 +215,10 @@ namespace detail
      typedef Typelist_Chain 			      		type;
    };

-  template<typename Typelist_Chain>
-    struct append_<Typelist_Chain, null_type>
+  template<typename Hd, typename Tl>
+    struct append_<chain<Hd, Tl>, null_type>
    {
-      typedef Typelist_Chain 					type;
+      typedef chain<Hd, Tl>  					type;
    };

  template<>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]