18d4860aaSLouis Dionne //===----------------------------------------------------------------------===// 28d4860aaSLouis Dionne // 38d4860aaSLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 48d4860aaSLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 58d4860aaSLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 68d4860aaSLouis Dionne // 78d4860aaSLouis Dionne //===----------------------------------------------------------------------===// 88d4860aaSLouis Dionne 98d4860aaSLouis Dionne // <functional> 108d4860aaSLouis Dionne 118d4860aaSLouis Dionne // UNSUPPORTED: c++03, c++11, c++14 128d4860aaSLouis Dionne 138d4860aaSLouis Dionne // class function<R(ArgTypes...)> 148d4860aaSLouis Dionne 158d4860aaSLouis Dionne // template<class A> function(allocator_arg_t, const A&, const function&); 168d4860aaSLouis Dionne // 178d4860aaSLouis Dionne // This signature was removed in C++17 188d4860aaSLouis Dionne 198d4860aaSLouis Dionne #include <functional> 20d5e26775SNikolas Klauser #include <memory> 218d4860aaSLouis Dionne f()22*72f0edf3SLouis Dionnevoid f() { 238d4860aaSLouis Dionne typedef std::function<void(int)> F; 248d4860aaSLouis Dionne F f1; 258d4860aaSLouis Dionne F f2(std::allocator_arg, std::allocator<int>(), f1); // expected-error {{no matching constructor for initialization of}} 268d4860aaSLouis Dionne } 27