aboutsummaryrefslogtreecommitdiff
path: root/src/type.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-06-20 13:12:15 -0400
committerAndrew Kelley <andrew@ziglang.org>2023-06-20 21:51:01 -0700
commita257e33fff8dd9efa7f43ea14e05eef65a7f3354 (patch)
tree776121d7bc05ef6189f83b819130b859502cc2c5 /src/type.zig
parente2eabbbc5142f11defc56ad51cd5b8a5e97cdbda (diff)
downloadzig-a257e33fff8dd9efa7f43ea14e05eef65a7f3354.tar.gz
zig-a257e33fff8dd9efa7f43ea14e05eef65a7f3354.zip
Type: remove arbitrary restrictions on param and return types
Opaque and `noreturn` makes sense since they don't represent real values, but `null` and `undefined` are perfectly normal comptime-only values. Closes #16088
Diffstat (limited to 'src/type.zig')
-rw-r--r--src/type.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/type.zig b/src/type.zig
index bce97b65cb..d7470f1e2b 100644
--- a/src/type.zig
+++ b/src/type.zig
@@ -2405,14 +2405,14 @@ pub const Type = struct {
pub fn isValidParamType(self: Type, mod: *const Module) bool {
return switch (self.zigTypeTagOrPoison(mod) catch return true) {
- .Undefined, .Null, .Opaque, .NoReturn => false,
+ .Opaque, .NoReturn => false,
else => true,
};
}
pub fn isValidReturnType(self: Type, mod: *const Module) bool {
return switch (self.zigTypeTagOrPoison(mod) catch return true) {
- .Undefined, .Null, .Opaque => false,
+ .Opaque => false,
else => true,
};
}