lib/std/start.zig | 2 +- src/Sema.zig | 175 ++++++++++++++++++++++++++++++-- src/type.zig | 9 +- test/cases/compile_errors/c_pointer_to_void.zig | 11 ++ test/cases/compile_errors/exported_enum_without_explicit_integer_tag_type.zig | 18 ++++ test/cases/compile_errors/extern_struct_with_extern-compatible_but_inferred_integer_tag_type.zig | 45 ++++++++ test/cases/compile_errors/extern_struct_with_non-extern-compatible_integer_tag_type.zig | 17 ++++ test/cases/compile_errors/invalid_optional_type_in_extern_struct.zig | 11 ++ test/cases/compile_errors/stage1/obj/exported_enum_without_explicit_integer_tag_type.zig | 15 --- test/cases/compile_errors/stage1/obj/extern_struct_with_extern-compatible_but_inferred_integer_tag_type.zig | 43 -------- test/cases/compile_errors/stage1/obj/extern_struct_with_non-extern-compatible_integer_tag_type.zig | 14 --- test/cases/compile_errors/stage1/obj/invalid_optional_type_in_extern_struct.zig | 10 -- test/cases/compile_errors/stage1/obj/optional_pointer_to_void_in_extern_struct.zig | 14 --- test/cases/compile_errors/stage1/optional_pointer_to_void_in_extern_struct.zig | 14 +++ 14 files changed, 293 insertions(+), 105 deletions(-)