From 49b183a9ecf62bc1b37e53bdddf42e6ea4ce4cd7 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Fri, 21 Dec 2018 04:09:01 +0000 Subject: Implement LWG 3065: Make path operators friends. This prevents things like: using namespace std::filesystem; auto x = L"a/b" == std::string("a/b"); llvm-svn: 349884 --- .../class.path/path.nonmember/append_op.fail.cpp | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp (limited to 'libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp') diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp new file mode 100644 index 00000000000..e0b3a959c29 --- /dev/null +++ b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp @@ -0,0 +1,27 @@ +//===----------------------------------------------------------------------===// +// +// 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 + +// + +#include "filesystem_include.hpp" + +using namespace fs; + +struct ConvToPath { + operator fs::path() const { + return ""; + } +}; + +int main() { + ConvToPath LHS, RHS; + (void)(LHS / RHS); // expected-error {{invalid operands to binary expression}} +} \ No newline at end of file -- cgit v1.2.3