| 1 | const Inner = extern struct { a: u32 }; |
| 2 | const Outer = extern struct { a: u32, b: Inner }; |
| 3 | |
| 4 | export fn main() callconv(.kernel) void { |
| 5 | var outer: Outer = undefined; |
| 6 | const inner: *Inner = @ptrCast(&outer); |
| 7 | _ = &inner; |
| 8 | } |
| 9 | |
| 10 | // error |
| 11 | // backend=selfhosted |
| 12 | // target=spirv32-vulkan |
| 13 | // |
| 14 | // :6:27: error: cannot cast pointer '*tmp.Outer' to '*tmp.Inner' |
| 15 | // :6:27: note: 'tmp.Inner' must appear at offset 0 inside 'tmp.Outer' |