/* generics_bug694765_3.c generated by valac, the Vala compiler
 * generated from generics_bug694765_3.vala, do not modify */

#include <glib.h>
#include <stdlib.h>
#include <string.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))

static void _vala_main (void);
static void _g_free0_ (gpointer var);
static inline void _g_list_free__g_free0_ (GList* self);
static void __g_list_free__g_free0_0_ (gpointer var);

static void
_g_free0_ (gpointer var)
{
	var = (g_free (var), NULL);
}

static inline void
_g_list_free__g_free0_ (GList* self)
{
	g_list_free_full (self, (GDestroyNotify) _g_free0_);
}

static void
__g_list_free__g_free0_0_ (gpointer var)
{
	(var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL));
}

static void
_vala_main (void)
{
	GHashTable* table = NULL;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	_tmp0_ = g_str_hash;
	_tmp1_ = g_str_equal;
	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, __g_list_free__g_free0_0_);
	table = _tmp2_;
	_g_hash_table_unref0 (table);
	table = NULL;
	_g_hash_table_unref0 (table);
}

int
main (int argc,
      char ** argv)
{
	_vala_main ();
	return 0;
}

