[all-commits] [llvm/llvm-project] a061d4: [libc++] Fix expression-equivalence for `mem_fn` (...
A. Jiang via All-commits
all-commits at lists.llvm.org
Tue Oct 15 07:34:12 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a061d4d5cedf8f4651a01ea2e8cf98bd8863bf0f
https://github.com/llvm/llvm-project/commit/a061d4d5cedf8f4651a01ea2e8cf98bd8863bf0f
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-15 (Tue, 15 Oct 2024)
Changed paths:
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/functional
A libcxx/test/std/utilities/function.objects/func.memfn/mem_fn.pass.cpp
M libcxx/test/std/utilities/function.objects/func.memfn/member_data.compile.fail.cpp
R libcxx/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp
R libcxx/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp
R libcxx/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp
R libcxx/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp
R libcxx/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp
Log Message:
-----------
[libc++] Fix expression-equivalence for `mem_fn` (#111307)
Previously, SFINAE constraints and exception specification propagation
were missing in the return type of libc++'s `std::mem_fn`. The
requirements on expression-equivalence (or even plain "equivalent" in
pre-C++20 specification) in [func.memfn] are actually requiring them.
This PR adds the missed stuffs. Fixes #86043.
Drive-by changes:
- removing no longer used `__invoke_return`,
- updating synopsis comments in several files, and
- merging several test files for `mem_fn` into one.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list