diff --git a/patches/patches/085_async2.patch b/patches/patches/085_async2.patch deleted file mode 100644 index 7583d7c..0000000 --- a/patches/patches/085_async2.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- exercises/085_async2.zig 2026-04-01 19:22:50.017227542 +0200 -+++ answers/085_async2.zig 2026-04-01 19:21:57.569158481 +0200 -@@ -38,9 +38,9 @@ - - // Now collect the result. What method on Future gives us - // the value, blocking if it isn't ready yet? -- const answer = future.???(io); -+ const answer = future.await(io); - -- std.debug.print("The answer is: {}\n", .{answer}); -+ std.debug.print("the answer is: {}\n", .{answer}); - } - - fn computeAnswer(a: u32, b: u32) u32 { diff --git a/patches/patches/086_async3.patch b/patches/patches/086_async3.patch deleted file mode 100644 index 3a3c2c4..0000000 --- a/patches/patches/086_async3.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- exercises/086_async3.zig 2026-04-01 22:51:05.540094851 +0200 -+++ answers/086_async3.zig 2026-04-01 22:50:44.579669189 +0200 -@@ -29,12 +29,12 @@ - const io = init.io; - - // Launch both tasks asynchronously. -- var future_a = io.async(slowAdd, .{ 10, 20 }); -- var future_b = ???(slowMul, .{ 6, 7 }); -+ var future_a = io.async(slowAdd, .{ 1, 2 }); -+ var future_b = io.async(slowMul, .{ 6, 7 }); - - // Await both results. - const sum = future_a.await(io); -- const product = future_b.???(io); -+ const product = future_b.await(io); - - print("{} + {} = {}\n", .{ 1, 2, sum }); - print("{} * {} = {}\n", .{ 6, 7, product }); diff --git a/patches/patches/087_async4.patch b/patches/patches/087_async4.patch deleted file mode 100644 index 4883afd..0000000 --- a/patches/patches/087_async4.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- exercises/087_async4.zig 2026-04-01 23:17:31.066443941 +0200 -+++ answers/087_async4.zig 2026-04-01 23:17:39.251612131 +0200 -@@ -38,7 +38,7 @@ - - // Wait for all tasks to finish. - // What Group method blocks until all tasks complete? -- try group.??? -+ try group.await(io); - - print("All tasks finished!\n", .{}); - } diff --git a/patches/patches/088_async5.patch b/patches/patches/088_async5.patch deleted file mode 100644 index d88e820..0000000 --- a/patches/patches/088_async5.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- exercises/088_async5.zig 2026-04-01 23:40:40.505855238 +0200 -+++ answers/088_async5.zig 2026-04-01 23:40:10.176236971 +0200 -@@ -40,7 +40,7 @@ - - // We don't want to wait 10 seconds! - // Which Future method requests cancellation AND returns the result? -- const result = ???; -+ const result = future.cancel(io); - - print("Task returned: {}\n", .{result}); - } diff --git a/patches/patches/089_async6.patch b/patches/patches/089_async6.patch deleted file mode 100644 index 4ba0b49..0000000 --- a/patches/patches/089_async6.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- exercises/089_async6.zig 2026-04-02 10:25:34.016616118 +0200 -+++ answers/089_async6.zig 2026-04-02 10:27:48.827144051 +0200 -@@ -47,7 +47,7 @@ - - // Wait for the first finisher. - // What Select method returns the first completed result? -- const winner = ???; -+ const winner = try sel.await(); - - switch (winner) { - .hare => |msg| print("Hare: {s}\n", .{msg}), diff --git a/patches/patches/090_async7.patch b/patches/patches/090_async7.patch deleted file mode 100644 index 2108d51..0000000 --- a/patches/patches/090_async7.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- exercises/090_async7.zig 2026-04-02 10:36:42.910708919 +0200 -+++ answers/090_async7.zig 2026-04-02 10:36:51.965884223 +0200 -@@ -49,8 +49,8 @@ - for (0..times) |_| { - // Acquire the lock before modifying shared state. - // What Mutex method blocks until the lock is acquired? -- state.mutex.??? catch return; -- defer state.mutex.unlock(); // <-- what's missing here? -+ state.mutex.lock(io) catch return; -+ defer state.mutex.unlock(io); - - state.counter += 1; - } diff --git a/patches/patches/091_async8.patch b/patches/patches/091_async8.patch deleted file mode 100644 index 865292f..0000000 --- a/patches/patches/091_async8.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- exercises/091_async8.zig 2026-04-02 10:49:27.925721496 +0200 -+++ answers/091_async8.zig 2026-04-02 10:49:31.694795212 +0200 -@@ -43,7 +43,7 @@ - // Send numbers 1 through 10 into the queue. - for (1..11) |i| { - // What Queue method sends a single element, blocking if full? -- queue.???(io, @intCast(i)) catch return; -+ queue.putOne(io, @intCast(i)) catch return; - } - // Signal that we're done sending. - queue.close(io); diff --git a/patches/patches/092_async9.patch b/patches/patches/092_async9.patch deleted file mode 100644 index b7c8de9..0000000 --- a/patches/patches/092_async9.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- exercises/092_async9.zig 2026-04-03 13:44:50.526780809 +0200 -+++ answers/092_async9.zig 2026-04-03 13:44:54.957870294 +0200 -@@ -36,7 +36,7 @@ - // Launch with a guaranteed separate thread. - // Which Io method guarantees true concurrency? - // (Hint: unlike io.async, this one can fail!) -- var future = try io.???(compute, .{io}); -+ var future = try io.concurrent(compute, .{io}); - - print("Main thread continues...\n", .{}); - diff --git a/patches/patches/093_async10.patch b/patches/patches/093_async10.patch deleted file mode 100644 index 69f7518..0000000 --- a/patches/patches/093_async10.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- exercises/093_async10.zig 2026-04-03 14:25:16.600025924 +0200 -+++ answers/093_async10.zig 2026-04-03 14:24:56.192615893 +0200 -@@ -50,8 +50,8 @@ - - // Protect this section from cancellation. - // What method swaps the cancel protection state? -- const old = io.???(. blocked); -- defer _ = io.???(old); -+ const old = io.swapCancelProtection(.blocked); -+ defer _ = io.swapCancelProtection(old); - - // This sleep will NOT return error.Canceled even though - // we get canceled during it — protection is active! diff --git a/patches/patches/095_interfaces.patch b/patches/patches/095_interfaces.patch deleted file mode 100644 index cb5fd62..0000000 --- a/patches/patches/095_interfaces.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- exercises/095_interfaces.zig 2025-08-15 15:17:57.839348063 +0200 -+++ answers/095_interfaces.zig 2026-04-03 13:09:13.722917764 +0200 -@@ -106,7 +106,7 @@ - for (my_insects) |insect| { - // Almost done! We want to print() each insect with a - // single method call here. -- ??? -+ insect.print(); - } - } -