Another approach to fixing pesky-gcc's ambiguous overload overload
diff --git a/src/hb-vector.hh b/src/hb-vector.hh
index 313c24c..ef9d99d 100644
--- a/src/hb-vector.hh
+++ b/src/hb-vector.hh
@@ -90,6 +90,9 @@
       return Null(Type);
     return arrayZ()[i];
   }
+  /* Catch int index and deflect to unsigned int. */
+  inline Type& operator [] (int i) { return (*this)[(unsigned int) i]; }
+  inline const Type& operator [] (int i) const { return (*this)[(unsigned int) i]; }
 
   inline hb_array_t<Type> as_array (void)
   { return hb_array (arrayZ(), len); }