aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-16 13:31:53 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-16 13:31:53 -0700
commit94672dfb1941289eb65fdeab2e1dcc39ca70c3b7 (patch)
treea28abab9a820840a1cbe8ebdaffa301020e5765e /src/Sema.zig
parent92a09eb1e4d5914e5ea81c55c5feb322fcd90e7b (diff)
downloadzig-94672dfb1941289eb65fdeab2e1dcc39ca70c3b7.tar.gz
zig-94672dfb1941289eb65fdeab2e1dcc39ca70c3b7.zip
stage2: fully resolve fn types after analyzing its body
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index ca341bfeac..8a762d91d4 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -20006,6 +20006,19 @@ fn resolvePeerTypes(
return chosen_ty;
}
+pub fn resolveFnTypes(
+ sema: *Sema,
+ block: *Block,
+ src: LazySrcLoc,
+ fn_info: Type.Payload.Function.Data,
+) CompileError!void {
+ try sema.resolveTypeFully(block, src, fn_info.return_type);
+
+ for (fn_info.param_types) |param_ty| {
+ try sema.resolveTypeFully(block, src, param_ty);
+ }
+}
+
fn resolveTypeLayout(
sema: *Sema,
block: *Block,