[gsubgpos] Avoid a copy into the vector
diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh
index ad7537a..089fa57 100644
--- a/src/hb-ot-layout-gsubgpos.hh
+++ b/src/hb-ot-layout-gsubgpos.hh
@@ -957,17 +957,15 @@
template <typename T>
return_t dispatch (const T &obj)
{
- hb_applicable_t entry;
+ hb_applicable_t *entry = array.push ();
- entry.init (obj,
- apply_to<T>
+ entry->init (obj,
+ apply_to<T>
#ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
- , apply_cached_to<T>
- , cache_func_to<T>
+ , apply_cached_to<T>
+ , cache_func_to<T>
#endif
- );
-
- array.push (entry);
+ );
#ifndef HB_NO_OT_LAYOUT_LOOKUP_CACHE
/* Cache handling