@@ -1060,20 +1060,18 @@ template <typename... Args> constexpr auto count_static_named_args() -> int {
1060
1060
}
1061
1061
1062
1062
template <typename Char> struct named_arg_info {
1063
- FMT_CONSTEXPR named_arg_info () : name(nullptr ), id(0 ) {}
1064
- FMT_CONSTEXPR named_arg_info (const Char* a_name, const int an_id)
1065
- : name(a_name), id(an_id) {}
1066
1063
const Char* name;
1067
1064
int id;
1068
1065
};
1069
1066
1070
1067
template <typename Char>
1071
1068
FMT_CONSTEXPR void check_for_duplicate (
1072
- const named_arg_info<Char>* const named_args, const int named_arg_index,
1073
- const Char* const arg_name) {
1074
- const basic_string_view<Char> arg_name_view (arg_name);
1069
+ named_arg_info<Char>* named_args, int named_arg_index,
1070
+ basic_string_view<Char> arg_name) {
1071
+ if (named_arg_index <= 0 ) return ;
1072
+
1075
1073
for (auto i = 0 ; i < named_arg_index; ++i) {
1076
- if (basic_string_view<Char>(named_args[i].name ) == arg_name_view ) {
1074
+ if (basic_string_view<Char>(named_args[i].name ) == arg_name ) {
1077
1075
report_error (" duplicate named args found" );
1078
1076
}
1079
1077
}
@@ -1087,7 +1085,7 @@ void init_named_arg(named_arg_info<Char>*, int& arg_index, int&, const T&) {
1087
1085
template <typename Char, typename T, FMT_ENABLE_IF(is_named_arg<T>::value)>
1088
1086
void init_named_arg (named_arg_info<Char>* named_args, int & arg_index,
1089
1087
int & named_arg_index, const T& arg) {
1090
- check_for_duplicate (named_args, named_arg_index, arg.name );
1088
+ check_for_duplicate<Char> (named_args, named_arg_index, arg.name );
1091
1089
named_args[named_arg_index++] = {arg.name , arg_index++};
1092
1090
}
1093
1091
@@ -1101,7 +1099,7 @@ template <typename T, typename Char,
1101
1099
FMT_ENABLE_IF (is_static_named_arg<T>::value)>
1102
1100
FMT_CONSTEXPR void init_static_named_arg (named_arg_info<Char>* named_args,
1103
1101
int & arg_index, int & named_arg_index) {
1104
- check_for_duplicate (named_args, named_arg_index, T::name);
1102
+ check_for_duplicate<Char> (named_args, named_arg_index, T::name);
1105
1103
named_args[named_arg_index++] = {T::name, arg_index++};
1106
1104
}
1107
1105
0 commit comments