Ministry of silly loops

Another do-while loop:

test "do-while" {
    var i: u8 = 'a';
    var result: std.ArrayListUnmanaged(u8) = .empty;
    defer result.deinit(std.testing.allocator);
    while (do_blk: {
        i += 1;
        try result.append(std.testing.allocator, i);
        break :do_blk i != 'd';
    }) {}
    try std.testing.expectEqualStrings("bcd", result.items);
}
1 Like