import "all.hff"; fn hashtype(ty *const Type) u32 { let h = FNV1A_INI; h = fnv1a_i(h, ty.konst ? 1 : 0); switch ty.u { case Void; case Bool; case Flo; h = fnv1a_i(h, ty.size); h = fnv1a_i(h, ty.align); case Int i; h = fnv1a_i(h, i.sgn ? 1 : 0); h = fnv1a_i(h, ty.size); h = fnv1a_i(h, ty.align); case Ptr child; h = fnv1a_i(h, child.id); case Arr arr; h = fnv1a_i(h, arr.child.id); h = fnv1a_i(h, arr.length); case Slice child; h = fnv1a_i(h, child.id); } return h; }