[algs] Fix identity return type
authorBehdad Esfahbod <behdad@behdad.org>
Wed, 8 May 2019 21:59:25 +0000 (14:59 -0700)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 8 May 2019 22:08:33 +0000 (15:08 -0700)
src/hb-algs.hh

index 52d4092..d377772 100644 (file)
 
 struct
 {
-  template <typename T> T
-  operator () (const T& v) const { return v; }
+  template <typename T> auto
+  operator () (T&& v) const HB_AUTO_RETURN ( hb_forward<T> (v) )
 }
 HB_FUNCOBJ (hb_identity);
 
 struct
 {
   template <typename T> bool
-  operator () (const T& v) const { return bool (v); }
+  operator () (T&& v) const { return bool (hb_forward<T> (v)); }
 }
 HB_FUNCOBJ (hb_bool);