src/Sema.zig | 124 ++++++++++++++++++++------------ src/Sema/type_resolution.zig | 11 +++ src/Type.zig | 3 +- src/codegen/spirv/CodeGen.zig | 69 +++++++++++++----- test/behavior/array.zig | 4 ++ test/behavior/backing_int.zig | 6 ++ test/behavior/cast.zig | 1 + test/behavior/comptime_memory.zig | 2 + test/behavior/for.zig | 1 + test/behavior/math.zig | 2 + test/behavior/packed-union.zig | 3 + test/behavior/pointers.zig | 1 + test/behavior/ptrcast.zig | 2 + test/behavior/sizeof_and_typeof.zig | 2 + test/behavior/slice.zig | 8 +++ test/behavior/spirv.zig | 11 ++- test/behavior/string_literals.zig | 2 + test/behavior/vector.zig | 2 + test/cases/compile_errors/directly_embedding_spirv_type_in_struct_and_union.zig | 19 +++-- test/cases/compile_errors/extern_spirv_decoration_validation.zig | 2 +- test/cases/compile_errors/extern_spirv_storage_buffer_must_be_single_pointer.zig | 25 ------- test/cases/compile_errors/illegal_operation_on_logical_ptr.zig | 44 ++++++++++-- test/cases/compile_errors/loading_spirv_runtime_array_value.zig | 4 +- test/cases/compile_errors/spirv_extern_runtime_descriptor_array.zig | 49 +++++++++++++ test/cases/compile_errors/spirv_extern_var_addrspace.zig | 46 ++++++++++-- test/cases/compile_errors/spirv_merge_logical_pointers.zig | 1 + test/cases/compile_errors/spirv_pointer_cast_requires_offset_zero.zig | 19 ++--- test/cases/compile_errors/spirv_runtime_array_as_value_type.zig | 26 ------- test/cases/compile_errors/spirv_slices.zig | 34 +++------ test/cases/compile_errors/spirv_unsupported_float_width.zig | 16 ----- test/src/Cases.zig | 11 +-- 31 files changed, 354 insertions(+), 196 deletions(-)