From Arch Linux:
`ref` became unintrospectable in GLib 2.86
Use TypeClass.get instead of .ref

Index: lgi/ffi.lua
--- lgi/ffi.lua.orig
+++ lgi/ffi.lua
@@ -80,14 +80,13 @@ function ffi.load_enum(gtype, name)
    local is_flags = GObject.Type.is_a(gtype, GObject.Type.FLAGS)
    local enum_component = component.create(
       gtype, is_flags and enum.bitflags_mt or enum.enum_mt, name)
-   local type_class = GObject.TypeClass.ref(gtype)
+   local type_class = GObject.TypeClass.get(gtype)
    local enum_class = core.record.cast(
       type_class, is_flags and GObject.FlagsClass or GObject.EnumClass)
    for i = 0, enum_class.n_values - 1 do
       local val = core.record.fromarray(enum_class.values, i)
       enum_component[core.upcase(val.value_nick):gsub('%-', '_')] = val.value
    end
-   type_class:unref()
    return enum_component
 end
 
