aboutsummaryrefslogtreecommitdiff
path: root/src/type.zig
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2022-09-24 16:16:52 +0200
committerRobin Voetter <robin@voetter.nl>2022-10-12 20:36:15 +0200
commitad747739594805546e0d52d112dfd4a75978c8c7 (patch)
tree0beb75cc34ecb604dc07d4ba9550f5f794a32a2b /src/type.zig
parentaa20295d24e77a3de586b203182d4e1cad69d475 (diff)
downloadzig-ad747739594805546e0d52d112dfd4a75978c8c7.tar.gz
zig-ad747739594805546e0d52d112dfd4a75978c8c7.zip
make addrSpaceCast work with optionals; forbid ptrCast'ing address spaces
Diffstat (limited to 'src/type.zig')
-rw-r--r--src/type.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/type.zig b/src/type.zig
index 5ac9726727..c1c8054e26 100644
--- a/src/type.zig
+++ b/src/type.zig
@@ -2786,6 +2786,12 @@ pub const Type = extern union {
.pointer => self.castTag(.pointer).?.data.@"addrspace",
+ .optional => {
+ var buf: Payload.ElemType = undefined;
+ const child_type = self.optionalChild(&buf);
+ return child_type.ptrAddressSpace();
+ },
+
else => unreachable,
};
}