In C++ 20, e.g. rxu::is_hashable<std::string> unexpectedly returns false because std::hash<T>::result_type and ::argument_type were removed (cppreference, P0619R2). See definition of is_hashable:
|
template<typename T> |
|
struct is_hashable<T, |
|
typename rxu::types_checked_from< |
|
typename filtered_hash<T>::result_type, |
|
typename filtered_hash<T>::argument_type, |
|
typename rxu::callable_result<filtered_hash<T>, T>::type>::type> |
|
: std::true_type {}; |
This means functions like observable<T>::distinct() do not work anymore.
In C++ 20, e.g.
rxu::is_hashable<std::string>unexpectedly returns false becausestd::hash<T>::result_typeand::argument_typewere removed (cppreference, P0619R2). See definition ofis_hashable:RxCpp/Rx/v2/src/rxcpp/rx-util.hpp
Lines 1022 to 1028 in 761b932
This means functions like
observable<T>::distinct()do not work anymore.