forked from OSchip/llvm-project
34 lines
857 B
C++
34 lines
857 B
C++
namespace std {
|
|
struct string {
|
|
string(const char *);
|
|
~string();
|
|
};
|
|
} // namespace std
|
|
|
|
namespace absl {
|
|
std::string StringsFunction(std::string s1) { return s1; }
|
|
class SomeContainer {};
|
|
namespace strings_internal {
|
|
void InternalFunction() {}
|
|
template <class P> P InternalTemplateFunction(P a) {}
|
|
} // namespace strings_internal
|
|
|
|
namespace container_internal {
|
|
struct InternalStruct {};
|
|
} // namespace container_internal
|
|
} // namespace absl
|
|
|
|
// should not trigger warnings because inside Abseil files
|
|
void DirectAcessInternal() {
|
|
absl::strings_internal::InternalFunction();
|
|
absl::strings_internal::InternalTemplateFunction<std::string>("a");
|
|
}
|
|
|
|
class FriendUsageInternal {
|
|
friend struct absl::container_internal::InternalStruct;
|
|
};
|
|
|
|
namespace absl {
|
|
void OpeningNamespaceInternally() { strings_internal::InternalFunction(); }
|
|
} // namespace absl
|