Use __is_same_as for std::is_same and std::is_same_v
authorJonathan Wakely <jwakely@redhat.com>
Fri, 11 Oct 2019 15:53:44 +0000 (16:53 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 11 Oct 2019 15:53:44 +0000 (16:53 +0100)
commit02f6fdff65671ccfaf2f79092ccdfccdef1bcebf
tree508378686454dfbed782d893175443b4b2a061cb
parent07758d90c7bc6b80b10a83bac52f9ab9e394131d
Use __is_same_as for std::is_same and std::is_same_v

By using the built-in we don't need to match a partial specialization
for std::is_same and don't need to instantiate std::is_same at all for
uses of std::is_same_v.

* include/std/type_traits (is_same): Replace partial specialization
by using __is_same_as built-in in primary template.
(is_same_v): Use __is_same_as built-in instead of instantiating the
is_same trait.

From-SVN: r276891
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/type_traits