diff --git a/src/hb-algs.hh b/src/hb-algs.hh index e54c6b434..3f627c108 100644 --- a/src/hb-algs.hh +++ b/src/hb-algs.hh @@ -73,17 +73,17 @@ struct /* Pointer-to-member-function. */ template auto impl (Appl&& a, hb_priority<2>, Val1 &&v1, Vals &&...vs) const HB_AUTO_RETURN - (hb_forward (hb_deref_pointer (v1)).*a (hb_forward (vs)...)) + (hb_deref_pointer (hb_forward (v1)).*hb_forward (a) (hb_forward (vs)...)) /* Pointer-to-member. */ template auto impl (Appl&& a, hb_priority<1>, Val &&v) const HB_AUTO_RETURN - (hb_forward (hb_deref_pointer (v)).*a) + ((hb_deref_pointer (hb_forward (v))).*hb_forward (a)) /* Operator(). */ template auto impl (Appl&& a, hb_priority<0>, Vals &&...vs) const HB_AUTO_RETURN - (hb_deref_pointer (a) (hb_forward (vs)...)) + (hb_deref_pointer (hb_forward (a)) (hb_forward (vs)...)) public: @@ -102,7 +102,7 @@ struct template auto impl (Pred&& p, Val &&v, hb_priority<1>) const HB_AUTO_RETURN - (hb_deref_pointer (p).has (v)) + (hb_deref_pointer (hb_forward (p)).has (v)) template auto impl (Pred&& p, Val &&v, hb_priority<0>) const HB_AUTO_RETURN @@ -127,7 +127,7 @@ struct template auto impl (Proj&& f, Val &&v, hb_priority<1>) const HB_AUTO_RETURN - (hb_deref_pointer (f).get (hb_forward (v))) + (hb_deref_pointer (hb_forward (f)).get (hb_forward (v))) template auto impl (Proj&& f, Val &&v, hb_priority<0>) const HB_AUTO_RETURN