parent
5f38d6e2e9
commit
459d72f873
@ -2318,8 +2318,9 @@ static void resolve_enum_zero_bits(CodeGen *g, TypeTableEntry *enum_type) {
|
||||
return;
|
||||
|
||||
if (enum_type->data.enumeration.zero_bits_loop_flag) {
|
||||
enum_type->data.enumeration.zero_bits_known = true;
|
||||
enum_type->data.enumeration.zero_bits_loop_flag = false;
|
||||
add_node_error(g, enum_type->data.enumeration.decl_node,
|
||||
buf_sprintf("'%s' depends on itself", buf_ptr(&enum_type->name)));
|
||||
enum_type->data.enumeration.is_invalid = true;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,19 @@
|
||||
const tests = @import("tests.zig");
|
||||
|
||||
pub fn addCases(cases: *tests.CompileErrorContext) void {
|
||||
cases.add(
|
||||
"enum field value references enum",
|
||||
\\pub const Foo = extern enum {
|
||||
\\ A = Foo.B,
|
||||
\\ C = D,
|
||||
\\};
|
||||
\\export fn entry() void {
|
||||
\\ var s: Foo = Foo.E;
|
||||
\\}
|
||||
,
|
||||
".tmp_source.zig:1:17: error: 'Foo' depends on itself",
|
||||
);
|
||||
|
||||
cases.add(
|
||||
"@floatToInt comptime safety",
|
||||
\\comptime {
|
||||
|
Loading…
x
Reference in New Issue
Block a user