Declaration Solver Test File
// alias
type a = int;
type ax = *int;
type axx = *a;
// forward alias
type b = c;
type c = int;
type bptr = *c2;
type c2 = c;
// struct -> alias
type d = struct {
a: a,
};
// struct -> forward alias
type e = struct {
f: f,
};
type f = int;
// struct -> self reference
type g = struct {
g: *g,
};
// struct -> circ reference
type h = struct {
i: *i,
};
type i = struct {
h: *h,
};
// struct -> tight circ reference
type j = struct {
k: k,
};
type k = struct {
j: *j,
};