| ... | @@ -728,6 +728,14 @@ pub const Kind = enum { | ... | @@ -728,6 +728,14 @@ pub const Kind = enum { |
| 728 | .global => .global, | 728 | .global => .global, |
| 729 | }; | 729 | }; |
| 730 | } | 730 | } |
| | 731 | |
| | 732 | pub fn asComplete(kind: Kind) Kind { |
| | 733 | return switch (kind) { |
| | 734 | .forward, .complete => .complete, |
| | 735 | .forward_parameter, .parameter => .parameter, |
| | 736 | .global => .global, |
| | 737 | }; |
| | 738 | } |
| 731 | }; | 739 | }; |
| 732 | | 740 | |
| 733 | pub const Info = union(enum) { | 741 | pub const Info = union(enum) { |
| ... | @@ -1887,7 +1895,7 @@ pub const Pool = struct { | ... | @@ -1887,7 +1895,7 @@ pub const Pool = struct { |
| 1887 | elem_type, | 1895 | elem_type, |
| 1888 | pt, | 1896 | pt, |
| 1889 | mod, | 1897 | mod, |
| 1890 | kind.noParameter(), | 1898 | kind.noParameter().asComplete(), |
| 1891 | ); | 1899 | ); |
| 1892 | if (elem_ctype.index == .void) return .void; | 1900 | if (elem_ctype.index == .void) return .void; |
| 1893 | const array_ctype = try pool.getArray(allocator, .{ | 1901 | const array_ctype = try pool.getArray(allocator, .{ |
| ... | @@ -1913,7 +1921,7 @@ pub const Pool = struct { | ... | @@ -1913,7 +1921,7 @@ pub const Pool = struct { |
| 1913 | elem_type, | 1921 | elem_type, |
| 1914 | pt, | 1922 | pt, |
| 1915 | mod, | 1923 | mod, |
| 1916 | kind.noParameter(), | 1924 | kind.noParameter().asComplete(), |
| 1917 | ); | 1925 | ); |
| 1918 | if (elem_ctype.index == .void) return .void; | 1926 | if (elem_ctype.index == .void) return .void; |
| 1919 | const vector_ctype = try pool.getVector(allocator, .{ | 1927 | const vector_ctype = try pool.getVector(allocator, .{ |