[algs] Fix hash chaining to std::hash()
diff --git a/src/hb-algs.hh b/src/hb-algs.hh
index d95db4c..a725c8b 100644
--- a/src/hb-algs.hh
+++ b/src/hb-algs.hh
@@ -219,7 +219,7 @@
   impl (const T& v, hb_priority<2>) const HB_RETURN (uint32_t, hb_deref (v).hash ())
 
   template <typename T> constexpr auto
-  impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, std::hash<decltype (hb_deref (v))>{} (hb_deref (v)))
+  impl (const T& v, hb_priority<1>) const HB_RETURN (uint32_t, std::hash<hb_decay<decltype (hb_deref (v))>>{} (hb_deref (v)))
 
   template <typename T,
 	    hb_enable_if (std::is_integral<T>::value)> constexpr auto