| ... | @@ -486,6 +486,36 @@ pub const Type = extern union { | ... | @@ -486,6 +486,36 @@ pub const Type = extern union { |
| 486 | | 486 | |
| 487 | .pointer => return self.castTag(.pointer).?.*, | 487 | .pointer => return self.castTag(.pointer).?.*, |
| 488 | | 488 | |
| | 489 | .optional_single_mut_pointer => return .{ .data = .{ |
| | 490 | .pointee_type = self.castPointer().?.data, |
| | 491 | .sentinel = null, |
| | 492 | .@"align" = 0, |
| | 493 | .@"addrspace" = .generic, |
| | 494 | .bit_offset = 0, |
| | 495 | .host_size = 0, |
| | 496 | .@"allowzero" = false, |
| | 497 | .mutable = true, |
| | 498 | .@"volatile" = false, |
| | 499 | .size = .One, |
| | 500 | } }, |
| | 501 | .optional_single_const_pointer => return .{ .data = .{ |
| | 502 | .pointee_type = self.castPointer().?.data, |
| | 503 | .sentinel = null, |
| | 504 | .@"align" = 0, |
| | 505 | .@"addrspace" = .generic, |
| | 506 | .bit_offset = 0, |
| | 507 | .host_size = 0, |
| | 508 | .@"allowzero" = false, |
| | 509 | .mutable = false, |
| | 510 | .@"volatile" = false, |
| | 511 | .size = .One, |
| | 512 | } }, |
| | 513 | .optional => { |
| | 514 | var buf: Payload.ElemType = undefined; |
| | 515 | const child_type = self.optionalChild(&buf); |
| | 516 | return child_type.ptrInfo(); |
| | 517 | }, |
| | 518 | |
| 489 | else => unreachable, | 519 | else => unreachable, |
| 490 | } | 520 | } |
| 491 | } | 521 | } |