| ... | @@ -345,12 +345,13 @@ pub fn print( | ... | @@ -345,12 +345,13 @@ pub fn print( |
| 345 | try writer.print("[{}]", .{elem.index}); | 345 | try writer.print("[{}]", .{elem.index}); |
| 346 | }, | 346 | }, |
| 347 | .field => |field| { | 347 | .field => |field| { |
| 348 | const container_ty = ip.typeOf(field.base).toType(); | 348 | const ptr_container_ty = ip.typeOf(field.base).toType(); |
| 349 | try print(.{ | 349 | try print(.{ |
| 350 | .ty = container_ty, | 350 | .ty = ptr_container_ty, |
| 351 | .val = field.base.toValue(), | 351 | .val = field.base.toValue(), |
| 352 | }, writer, level - 1, mod); | 352 | }, writer, level - 1, mod); |
| 353 | | 353 | |
| | 354 | const container_ty = ptr_container_ty.childType(mod); |
| 354 | switch (container_ty.zigTypeTag(mod)) { | 355 | switch (container_ty.zigTypeTag(mod)) { |
| 355 | .Struct => { | 356 | .Struct => { |
| 356 | if (container_ty.isTuple(mod)) { | 357 | if (container_ty.isTuple(mod)) { |
| ... | @@ -375,6 +376,7 @@ pub fn print( | ... | @@ -375,6 +376,7 @@ pub fn print( |
| 375 | } | 376 | } |
| 376 | }, | 377 | }, |
| 377 | } | 378 | } |
| | 379 | return; |
| 378 | }, | 380 | }, |
| 379 | .opt => |opt| switch (opt.val) { | 381 | .opt => |opt| switch (opt.val) { |
| 380 | .none => return writer.writeAll("null"), | 382 | .none => return writer.writeAll("null"), |