diff --git a/doc/unordered/hash_traits.adoc b/doc/unordered/hash_traits.adoc index 0abd5dcf..5a60fa82 100644 --- a/doc/unordered/hash_traits.adoc +++ b/doc/unordered/hash_traits.adoc @@ -36,9 +36,9 @@ this property is critical for the proper behavior of open-addressing hash contai * `false` if `Hash::is_avalanching` is not present, * `Hash::is_avalanching::value` if this is present and convertible at compile time to a `bool`, - * `true` if `Hash::is_avalanching` is `void` (this usage is deprecated). + * `true` if `Hash::is_avalanching` is `void` (this usage is deprecated), + * ill-formed otherwise. -The behavior is undefined if none of the three cases above is met. Users can then declare a hash function `Hash` as avalanching either by embedding an appropriate `is_avalanching` typedef into the definition of `Hash`, or directly by specializing `hash_is_avalanching` to a class with an embedded compile-time constant `value` set to `true`. diff --git a/include/boost/unordered/hash_traits.hpp b/include/boost/unordered/hash_traits.hpp index 24fdf808..f6b912b7 100644 --- a/include/boost/unordered/hash_traits.hpp +++ b/include/boost/unordered/hash_traits.hpp @@ -53,7 +53,7 @@ struct hash_is_avalanching_impl< * - Hash::is_avalanching::value if this is present and constexpr-convertible * to a bool. * - true if Hash::is_avalanching is void (deprecated). - * UB otherwise. + * - ill-formed otherwise. */ template struct hash_is_avalanching: detail::hash_is_avalanching_impl::type{};