aboutsummaryrefslogtreecommitdiff
path: root/src/type.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-01 15:26:31 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-01 15:26:31 -0700
commit8878f085dccaf9efe89a04b458205fddc215e095 (patch)
treebe49e3d222c1e58d4f962f155d24a197c8bd4778 /src/type.zig
parentf6aaab9406807305c2b48fcd742449c9e91f1851 (diff)
downloadzig-8878f085dccaf9efe89a04b458205fddc215e095.tar.gz
zig-8878f085dccaf9efe89a04b458205fddc215e095.zip
Sema: correct implementation of comptimeOnly for tuples
This makes formatted printing work when mixing comptime and runtime fields.
Diffstat (limited to 'src/type.zig')
-rw-r--r--src/type.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/type.zig b/src/type.zig
index 40700f28af..90e79a8eed 100644
--- a/src/type.zig
+++ b/src/type.zig
@@ -4050,8 +4050,9 @@ pub const Type = extern union {
.tuple => {
const tuple = ty.castTag(.tuple).?.data;
- for (tuple.types) |field_ty| {
- if (field_ty.comptimeOnly()) return true;
+ for (tuple.types) |field_ty, i| {
+ const have_comptime_val = tuple.values[i].tag() != .unreachable_value;
+ if (!have_comptime_val and field_ty.comptimeOnly()) return true;
}
return false;
},