| author | |
| committer | |
| log | 456f3c026b3d6fb289f42e442b202e0be152c9d3 |
| tree | 49510e75264bff79e08b4539f34843624816a365 |
| parent | 3ce857d0543780e96bfd50d75d53d870ff308fef |
| signature | Commit is signed but in an unrecognized format. |
Resolves: #208262 files changed, 9 insertions(+), 1 deletions(-)
src/Sema.zig+1-1| ... | ... | @@ -21401,7 +21401,7 @@ fn zirTagName(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 21401 | 21401 | try operand_ty.resolveLayout(pt); |
| 21402 | 21402 | const enum_ty = switch (operand_ty.zigTypeTag(zcu)) { |
| 21403 | 21403 | .enum_literal => { |
| 21404 | const val = try sema.resolveConstDefinedValue(block, LazySrcLoc.unneeded, operand, undefined); | |
| 21404 | const val = (try sema.resolveDefinedValue(block, operand_src, operand)).?; | |
| 21405 | 21405 | const tag_name = ip.indexToKey(val.toIntern()).enum_literal; |
| 21406 | 21406 | return sema.addNullTerminatedStrLit(tag_name); |
| 21407 | 21407 | }, |
test/cases/compile_errors/tagName_on_undef_enum_literal.zig created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | comptime { | |
| 2 | const undef: @Type(.enum_literal) = undefined; | |
| 3 | _ = @tagName(undef); | |
| 4 | } | |
| 5 | ||
| 6 | // error | |
| 7 | // | |
| 8 | // :3:18: error: use of undefined value here causes undefined behavior |