abseil-no-internal-dependencies

如果使用 Abseil 的代码依赖于内部细节,则会发出警告。如果某个内容位于包含单词“internal”的命名空间中,则不允许代码依赖于它,因为它是一个实现细节。他们不能与它成为友元、包含它、提及它或以任何方式引用它。这样做违反了 Abseil 的兼容性指南,可能会导致破坏。有关更多信息,请参见 https://abseil.io/about/compatibility

以下情况会导致警告

absl::strings_internal::foo();
// warning triggered on this line
class foo {
  friend struct absl::container_internal::faa;
  // warning triggered on this line
};
absl::memory_internal::MakeUniqueResult();
// warning triggered on this line