aboutsummaryrefslogtreecommitdiff
path: root/src/Sema.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/Sema.zig')
-rw-r--r--src/Sema.zig4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index ede4eaf0e7..e8ed010a7c 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -8820,7 +8820,9 @@ fn analyzeParameter(
};
return sema.failWithOwnedErrorMsg(msg);
}
- if (!this_generic and is_noalias and !param.ty.isPtrAtRuntime()) {
+ if (!sema.is_generic_instantiation and !this_generic and is_noalias and
+ !(param.ty.zigTypeTag() == .Pointer or param.ty.isPtrLikeOptional()))
+ {
return sema.fail(block, param_src, "non-pointer parameter declared noalias", .{});
}
}