blob: c36fd6c246347f55c01133dfd0b84e88ee343d88 [file] [log] [blame]
// RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s
using size_t = decltype(sizeof(void *));
namespace std {
template <typename T> struct vector {
T &operator[](size_t I);
};
struct string {
const char *begin();
const char *end();
};
} // namespace std
std::vector<std::string> getData();
void foo() {
// Verifies we don't trigger a diagnostic from -Wdangling-gsl
// when iterating over a temporary in C++23.
for (auto c : getData()[0]) {
(void)c;
}
}
// expected-no-diagnostics