absl::synchronization is banned, but absl::Cord depends on it.

990 views
Skip to first unread message

Jelle Foks

unread,
Jan 17, 2024, 11:54:24 AMJan 17
to c...@chromium.org
Hi there,

`absl::synchronization` is banned, but `absl::Cord` is not but it depends on `absl::synchronization` for a few uses of `absl::Mutex`.

Is that known, on purpose, or should something be changed there?

Cheers,
Jelle

Peter Kasting

unread,
Jan 17, 2024, 3:39:11 PMJan 17
to Jelle Foks, c...@chromium.org
On Wed, Jan 17, 2024 at 8:54 AM 'Jelle Foks' via cxx <c...@chromium.org> wrote:
`absl::synchronization` is banned, but `absl::Cord` is not but it depends on `absl::synchronization` for a few uses of `absl::Mutex`.

AFAICT, only code in the internal implementation uses Abseil's synchronization APIs; such usage is not exposed through the Cord APIs.

This is not a problem; the c++-features.md rules govern what APIs first-party code in Chromium is allowed to call, not what APIs third-party code is allowed to call. Lots of existing third-party code uses APIs that we ban in first-party code. The only problematic cases are when such APIs are actually _broken_ in Chromium (e.g. usage of absl::Any/std::any in component builds).

PK
Reply all
Reply to author
Forward
0 new messages