[libcxx-commits] [libcxx] [libc++] Implement `bind_back` (PR #81055)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Mar 12 11:12:48 PDT 2024
================
@@ -0,0 +1,80 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
+
+// <functional>
+
+// template<class F, class... Args>
+// constexpr unspecified bind_back(F&& f, Args&&... args);
+
+#include <functional>
+
+#include "types.h"
+
+void test() {
+ { // Various failures
+ auto p = std::bind_back(pass, 1);
+ static_assert(p() == 1); // expected-error {{static assertion expression is not an integral constant expression}}
+
+ auto d = std::bind_back(do_nothing, 2); // expected-error {{no matching function for call to 'bind_back'}}
----------------
ldionne wrote:
What is this test checking? You can't pass an overloaded function as an argument. Am I missing something, or this test isn't testing anything from the library?
https://github.com/llvm/llvm-project/pull/81055
More information about the libcxx-commits
mailing list