| ... | ... | @@ -2172,17 +2172,21 @@ pub const Type = extern union { |
| 2172 | 2172 | |
| 2173 | 2173 | .const_slice => { |
| 2174 | 2174 | const elem_type = self.castTag(.const_slice).?.data; |
| 2175 | | buffer.elem_type = .{ |
| 2176 | | .base = .{ .tag = .many_const_pointer }, |
| 2177 | | .data = elem_type, |
| 2175 | buffer.* = .{ |
| 2176 | .elem_type = .{ |
| 2177 | .base = .{ .tag = .many_const_pointer }, |
| 2178 | .data = elem_type, |
| 2179 | }, |
| 2178 | 2180 | }; |
| 2179 | 2181 | return Type.initPayload(&buffer.elem_type.base); |
| 2180 | 2182 | }, |
| 2181 | 2183 | .mut_slice => { |
| 2182 | 2184 | const elem_type = self.castTag(.mut_slice).?.data; |
| 2183 | | buffer.elem_type = .{ |
| 2184 | | .base = .{ .tag = .many_mut_pointer }, |
| 2185 | | .data = elem_type, |
| 2185 | buffer.* = .{ |
| 2186 | .elem_type = .{ |
| 2187 | .base = .{ .tag = .many_mut_pointer }, |
| 2188 | .data = elem_type, |
| 2189 | }, |
| 2186 | 2190 | }; |
| 2187 | 2191 | return Type.initPayload(&buffer.elem_type.base); |
| 2188 | 2192 | }, |
| ... | ... | @@ -2199,31 +2203,37 @@ pub const Type = extern union { |
| 2199 | 2203 | payload.@"allowzero" or |
| 2200 | 2204 | payload.@"volatile") |
| 2201 | 2205 | { |
| 2202 | | buffer.pointer = .{ |
| 2203 | | .data = .{ |
| 2204 | | .pointee_type = payload.pointee_type, |
| 2205 | | .sentinel = payload.sentinel, |
| 2206 | | .@"align" = payload.@"align", |
| 2207 | | .@"addrspace" = payload.@"addrspace", |
| 2208 | | .bit_offset = payload.bit_offset, |
| 2209 | | .host_size = payload.host_size, |
| 2210 | | .@"allowzero" = payload.@"allowzero", |
| 2211 | | .mutable = payload.mutable, |
| 2212 | | .@"volatile" = payload.@"volatile", |
| 2213 | | .size = .Many, |
| 2206 | buffer.* = .{ |
| 2207 | .pointer = .{ |
| 2208 | .data = .{ |
| 2209 | .pointee_type = payload.pointee_type, |
| 2210 | .sentinel = payload.sentinel, |
| 2211 | .@"align" = payload.@"align", |
| 2212 | .@"addrspace" = payload.@"addrspace", |
| 2213 | .bit_offset = payload.bit_offset, |
| 2214 | .host_size = payload.host_size, |
| 2215 | .@"allowzero" = payload.@"allowzero", |
| 2216 | .mutable = payload.mutable, |
| 2217 | .@"volatile" = payload.@"volatile", |
| 2218 | .size = .Many, |
| 2219 | }, |
| 2214 | 2220 | }, |
| 2215 | 2221 | }; |
| 2216 | 2222 | return Type.initPayload(&buffer.pointer.base); |
| 2217 | 2223 | } else if (payload.mutable) { |
| 2218 | | buffer.elem_type = .{ |
| 2219 | | .base = .{ .tag = .many_mut_pointer }, |
| 2220 | | .data = payload.pointee_type, |
| 2224 | buffer.* = .{ |
| 2225 | .elem_type = .{ |
| 2226 | .base = .{ .tag = .many_mut_pointer }, |
| 2227 | .data = payload.pointee_type, |
| 2228 | }, |
| 2221 | 2229 | }; |
| 2222 | 2230 | return Type.initPayload(&buffer.elem_type.base); |
| 2223 | 2231 | } else { |
| 2224 | | buffer.elem_type = .{ |
| 2225 | | .base = .{ .tag = .many_const_pointer }, |
| 2226 | | .data = payload.pointee_type, |
| 2232 | buffer.* = .{ |
| 2233 | .elem_type = .{ |
| 2234 | .base = .{ .tag = .many_const_pointer }, |
| 2235 | .data = payload.pointee_type, |
| 2236 | }, |
| 2227 | 2237 | }; |
| 2228 | 2238 | return Type.initPayload(&buffer.elem_type.base); |
| 2229 | 2239 | } |