31 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <set>10 11// Check that std::set fails to instantiate if the comparison predicate is12// not copy-constructible. This is LWG issue 243613 14#include <set>15 16template <class T>17struct Comp {18 bool operator()(const T& lhs, const T& rhs) const { return lhs < rhs; }19 20 Comp() {}21 22private:23 Comp(const Comp&); // declared but not defined24};25 26int main(int, char**) {27 std::set<int, Comp<int> > m;28 29 return 0;30}31