Use qualified name-lookup in module. (#2324)
Allow lookup of non-exported names from local classes in function templates.
diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h
index 7aae789..5e03149 100644
--- a/include/fmt/chrono.h
+++ b/include/fmt/chrono.h
@@ -298,7 +298,7 @@
auto str = os.str();
if (!detail::is_utf8() || loc == std::locale::classic()) return str;
// char16_t and char32_t codecvts are broken in MSVC (linkage errors).
- using code_unit = conditional_t<FMT_MSC_VER, wchar_t, char16_t>;
+ using code_unit = conditional_t<FMT_MSC_VER != 0, wchar_t, char16_t>;
auto& f = std::use_facet<std::codecvt<code_unit, char, std::mbstate_t>>(loc);
auto mb = std::mbstate_t();
const char* from_next = nullptr;
@@ -1246,7 +1246,7 @@
ctx, out, d);
f.precision = precision_copy;
f.localized = localized;
- parse_chrono_format(begin, end, f);
+ detail::parse_chrono_format(begin, end, f);
}
return detail::write(
ctx.out(), basic_string_view<Char>(buf.data(), buf.size()), specs_copy);
diff --git a/include/fmt/core.h b/include/fmt/core.h
index 8d53d86..d71a2ab 100644
--- a/include/fmt/core.h
+++ b/include/fmt/core.h
@@ -2169,6 +2169,7 @@
template <typename Char, typename Handler>
FMT_CONSTEXPR auto parse_width(const Char* begin, const Char* end,
Handler&& handler) -> const Char* {
+ using detail::auto_id;
struct width_adapter {
Handler& handler;
@@ -2198,6 +2199,7 @@
template <typename Char, typename Handler>
FMT_CONSTEXPR auto parse_precision(const Char* begin, const Char* end,
Handler&& handler) -> const Char* {
+ using detail::auto_id;
struct precision_adapter {
Handler& handler;