From e93d3a3cdb276c8ed3e50466f348e6a4b9de6899 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 4 Nov 2023 19:27:46 -0700 Subject: [PATCH] zig reduce: don't try to remove discard statements those are handled separately --- src/reduce.zig | 4 ++-- src/reduce/Walk.zig | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/reduce.zig b/src/reduce.zig index bd7ab54bf1..7013c70674 100644 --- a/src/reduce.zig +++ b/src/reduce.zig @@ -229,8 +229,8 @@ pub fn main(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { //std.debug.print("trying this code:\n{s}\n", .{rendered.items}); const interestingness = try runCheck(arena, interestingness_argv.items); - std.debug.print("{d} random transformations: {s}. {d} remaining\n", .{ - subset_size, @tagName(interestingness), transformations.items.len - start_index, + std.debug.print("{d} random transformations: {s}. {d}/{d}\n", .{ + subset_size, @tagName(interestingness), start_index, transformations.items.len, }); switch (interestingness) { .interesting => { diff --git a/src/reduce/Walk.zig b/src/reduce/Walk.zig index 49730e9085..23935398af 100644 --- a/src/reduce/Walk.zig +++ b/src/reduce/Walk.zig @@ -649,7 +649,11 @@ fn walkBlock( => try walkLocalVarDecl(w, ast.fullVarDecl(stmt).?), else => { - try w.transformations.append(.{ .delete_node = stmt }); + // Don't try to remove `_ = foo;` discards; those are handled separately. + switch (categorizeStmt(ast, stmt)) { + .discard_identifier => {}, + else => try w.transformations.append(.{ .delete_node = stmt }), + } try walkExpression(w, stmt); }, }