[all-commits] [llvm/llvm-project] 07a0b0: [libc++] Properly handle specializations of std::i...
Quuxplusone via All-commits
all-commits at lists.llvm.org
Mon Jan 10 09:39:27 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 07a0b0ee94880cc193f3c63ebe3c4662c3123606
https://github.com/llvm/llvm-project/commit/07a0b0ee94880cc193f3c63ebe3c4662c3123606
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2022-01-10 (Mon, 10 Jan 2022)
Changed paths:
M libcxx/include/__functional/bind.h
M libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp
R libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_placeholder.pass.cpp
A libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/specialization.pass.cpp
A libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/is_placeholder.pass.cpp
A libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/specialization.pass.cpp
Log Message:
-----------
[libc++] Properly handle specializations of std::is_placeholder.
Before this patch, the user needed to specialize both of
`is_placeholder<MyType>` and `is_placeholder<const MyType>`.
After this patch, only the former is needed (although the
latter is harmless if provided).
The new tests don't actually fail unless return type deduction
is used, which is a C++14 feature. Specializing `is_placeholder`
is still allowed in C++11, though.
Fixes #51095.
Differential Revision: https://reviews.llvm.org/D116388
More information about the All-commits
mailing list