Skip to content

Commit cfc8ca6

Browse files
committed
Replace generic basic_string overloads of StableHasher::combine with concrete ones.
The generic `char_traits` implementation was deprecated and has since been removed from libc++ (https://reviews.llvm.org/D157058). When building with a libc++ that has it removed, the `basic_string<T>` overloads cause errors during template substitution.
1 parent 6de8597 commit cfc8ca6

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

include/swift/Basic/StableHasher.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,11 @@ class StableHasher final {
173173
return combine_many(arg.first, arg.second);
174174
}
175175

176-
template <typename T> void combine(const std::basic_string<T> &arg) {
176+
void combine(const std::basic_string<char> &arg) {
177+
return combine_range(arg.begin(), arg.end());
178+
}
179+
180+
void combine(const std::basic_string<wchar_t> &arg) {
177181
return combine_range(arg.begin(), arg.end());
178182
}
179183

0 commit comments

Comments
 (0)