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); }, }