From 2d2d79a05b8423c7638348dc5a89793c1e0cafce Mon Sep 17 00:00:00 2001 From: Loris Cro Date: Wed, 10 May 2023 21:07:40 +0200 Subject: [PATCH] autodoc: fix crash when call syntax has complex callee expression --- src/Autodoc.zig | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Autodoc.zig b/src/Autodoc.zig index e9fb8ab630..aac9b93c62 100644 --- a/src/Autodoc.zig +++ b/src/Autodoc.zig @@ -2396,7 +2396,19 @@ fn walkInstruction( return DocData.WalkResult{ .typeRef = if (callee.typeRef) |tr| switch (tr) { - .type => |func_type_idx| self.types.items[func_type_idx].Fn.ret, + .type => |func_type_idx| switch (self.types.items[func_type_idx]) { + .Fn => |func| func.ret, + else => blk: { + printWithContext( + file, + inst_index, + "unexpected callee type in walkInstruction.call: `{s}`\n", + .{@tagName(self.types.items[func_type_idx])}, + ); + + break :blk null; + }, + }, else => null, } else null, .expr = .{ .call = call_slot_index },