From f36202620b428c45a1c8d91743727c9313424fb2 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 28 Jul 2018 11:07:56 +0000 Subject: Vendor import of libc++ trunk r338150: https://llvm.org/svn/llvm-project/libcxx/trunk@338150 --- .../string.cons/string_view_deduction.fail.cpp | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp (limited to 'test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp') diff --git a/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp b/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp new file mode 100644 index 000000000000..b2fece8da8c2 --- /dev/null +++ b/test/std/strings/basic.string/string.cons/string_view_deduction.fail.cpp @@ -0,0 +1,41 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// +// UNSUPPORTED: c++98, c++03, c++11, c++14 +// XFAIL: libcpp-no-deduction-guides + +// template +// basic_string(InputIterator begin, InputIterator end, +// const Allocator& a = Allocator()); + +// template +// > +// basic_string(basic_string_view, const Allocator& = Allocator()) +// -> basic_string; +// +// The deduction guide shall not participate in overload resolution if Allocator +// is a type that does not qualify as an allocator. + + +#include +#include +#include +#include +#include + +int main() +{ + { + std::string_view sv = "12345678901234"; + std::basic_string s1{sv, 23}; // expected-error {{no viable constructor or deduction guide for deduction of template arguments of 'basic_string'}} + } +} -- cgit v1.3