diff --git a/libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm b/libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm new file mode 100644 --- /dev/null +++ b/libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm @@ -0,0 +1,18 @@ +//===----------------------------------------------------------------------===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +// Make sure that we don't get a compiler error when trying to use std::vector::erase +// from Objective-C++. This happened in Objective-C++ mode with modules enabled (rdar://106813461). + +// REQUIRES: objective-c++ + +#include + +void f(std::vector vec, std::vector::iterator it) { + (void)vec.erase(it); +}