From 40ede06edcc02fa1762bb0e445cef833f5856fba Mon Sep 17 00:00:00 2001 From: Matt Kulukundis Date: Thu, 29 Sep 2022 13:42:28 -0700 Subject: [PATCH] Improve the comments on the implementation of format hooks adl tricks. PiperOrigin-RevId: 477811281 Change-Id: Iba838e0eaceb5e6bfe1dac496fc86a22f5cf31d5 --- absl/strings/internal/str_format/arg.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h index 3d616dba..b3e4ff15 100644 --- a/absl/strings/internal/str_format/arg.h +++ b/absl/strings/internal/str_format/arg.h @@ -60,7 +60,12 @@ struct HasUserDefinedConvert()))>> : std::true_type {}; -void AbslFormatConvert(); // Stops the lexical name lookup +// These declarations prevent ADL lookup from continuing in absl namespaces, +// we are deliberately using these as ADL hooks and want them to consider +// non-absl namespaces only. +void AbslFormatConvert(); +void AbslStringify(); + template auto FormatConvertImpl(const T& v, FormatConversionSpecImpl conv, FormatSinkImpl* sink) @@ -76,7 +81,6 @@ auto FormatConvertImpl(const T& v, FormatConversionSpecImpl conv, return AbslFormatConvert(v, fcs, &fs); } -void AbslStringify(); // Stops the lexical name lookup template auto FormatConvertImpl(const T& v, FormatConversionSpecImpl, FormatSinkImpl* sink)