Browse Source

Merge branch 'main' into exercise_060_f80

Chris Boesch 2 years ago
parent
commit
9d3b2b822f
5 changed files with 12 additions and 11 deletions
  1. 1 1
      CONTRIBUTING.md
  2. 6 3
      README.md
  3. 1 1
      exercises/042_pointers4.zig
  4. 2 4
      exercises/064_builtins.zig
  5. 2 2
      exercises/082_anonymous_structs3.zig

+ 1 - 1
CONTRIBUTING.md

@@ -10,7 +10,7 @@ Ziglings is intended for programmers of all experience levels. No
 specific language knowledge is expected. Anyone who can install
 specific language knowledge is expected. Anyone who can install
 the current Zig snapshot, setup a copy of Ziglings, and knows
 the current Zig snapshot, setup a copy of Ziglings, and knows
 common language building blocks (if/then/else, loops, and
 common language building blocks (if/then/else, loops, and
-functions) is ready or Ziglings.
+functions) is ready for Ziglings.
 
 
 Ziglings is intended to be completely self-contained. If you
 Ziglings is intended to be completely self-contained. If you
 can't solve an exercise from the information you've gleaned so
 can't solve an exercise from the information you've gleaned so

+ 6 - 3
README.md

@@ -41,7 +41,7 @@ Verify the installation and build number of `zig` like so:
 
 
 ```bash
 ```bash
 $ zig version
 $ zig version
-0.10.0-dev.3978+xxxxxxxxx
+0.11.0-dev.1302+xxxxxxxxx
 ```
 ```
 
 
 Clone this repository with Git:
 Clone this repository with Git:
@@ -61,8 +61,8 @@ $ zig build
 
 
 The Zig language is under very active development. In order to be current,
 The Zig language is under very active development. In order to be current,
 Ziglings tracks **development** builds of the Zig compiler rather than
 Ziglings tracks **development** builds of the Zig compiler rather than
-versioned **release** builds. The last stable release was `0.9.1`, but Ziglings
-needs a dev build with pre-release version "0.10.0" and a build number at least
+versioned **release** builds. The last stable release was `0.10.0`, but Ziglings
+needs a dev build with pre-release version "0.11.0" and a build number at least
 as high as that shown in the example version check above.
 as high as that shown in the example version check above.
 
 
 It is likely that you'll download a build which is _greater_ than the minimum.
 It is likely that you'll download a build which is _greater_ than the minimum.
@@ -81,6 +81,8 @@ about input:
 
 
 ### Version Changes
 ### Version Changes
 
 
+Version-0.11.0-dev.1302+d813cef42
+* *2023-01-14* zig 0.11.0-dev.1302 - changes in `@addWithOverflow` in builtin functions
 * *2022-09-09* zig 0.10.0-dev.3978 - change in `NativeTargetInfo.detect` in build
 * *2022-09-09* zig 0.10.0-dev.3978 - change in `NativeTargetInfo.detect` in build
 * *2022-09-06* zig 0.10.0-dev.3880 - Ex 074 correctly fails again: comptime array len
 * *2022-09-06* zig 0.10.0-dev.3880 - Ex 074 correctly fails again: comptime array len
 * *2022-08-29* zig 0.10.0-dev.3685 - `@typeName()` output change, stage1 req. for async
 * *2022-08-29* zig 0.10.0-dev.3685 - `@typeName()` output change, stage1 req. for async
@@ -160,6 +162,7 @@ Core Language
 * [x] Quoted identifiers @""
 * [x] Quoted identifiers @""
 * [x] Anonymous structs/tuples/lists
 * [x] Anonymous structs/tuples/lists
 * [ ] Async <--- IN PROGRESS!
 * [ ] Async <--- IN PROGRESS!
+* [ ] Interfaces
 
 
 ## Contributing
 ## Contributing
 
 

+ 1 - 1
exercises/042_pointers4.zig

@@ -17,7 +17,7 @@ pub fn main() void {
     var num: u8 = 1;
     var num: u8 = 1;
     var more_nums = [_]u8{ 1, 1, 1, 1 };
     var more_nums = [_]u8{ 1, 1, 1, 1 };
 
 
-    // Let's pass a reference to num to our function and print it:
+    // Let's pass the num reference to our function and print it:
     makeFive(&num);
     makeFive(&num);
     std.debug.print("num: {}, ", .{num});
     std.debug.print("num: {}, ", .{num});
 
 

+ 2 - 4
exercises/064_builtins.zig

@@ -38,14 +38,12 @@ pub fn main() void {
     // Let's try it with a tiny 4-bit integer size to make it clear:
     // Let's try it with a tiny 4-bit integer size to make it clear:
     const a: u4 = 0b1101;
     const a: u4 = 0b1101;
     const b: u4 = 0b0101;
     const b: u4 = 0b0101;
-    var my_result: u4 = undefined;
-    var overflowed: bool = undefined;
-    overflowed = @addWithOverflow(u4, a, b, &my_result);
+    const my_result = @addWithOverflow(a, b);
 
 
     // Check out our fancy formatting! b:0>4 means, "print
     // Check out our fancy formatting! b:0>4 means, "print
     // as a binary number, zero-pad right-aligned four digits."
     // as a binary number, zero-pad right-aligned four digits."
     // The print() below will produce: "1101 + 0101 = 0010 (true)".
     // The print() below will produce: "1101 + 0101 = 0010 (true)".
-    print("{b:0>4} + {b:0>4} = {b:0>4} ({})", .{ a, b, my_result, overflowed });
+    print("{b:0>4} + {b:0>4} = {b:0>4} ({s})", .{ a, b, my_result[0], if (my_result[1] == 1) "true" else "false" });
 
 
     // Let's make sense of this answer. The value of 'b' in decimal is 5.
     // Let's make sense of this answer. The value of 'b' in decimal is 5.
     // Let's add 5 to 'a' but go one by one and see where it overflows:
     // Let's add 5 to 'a' but go one by one and see where it overflows:

+ 2 - 2
exercises/082_anonymous_structs3.zig

@@ -4,8 +4,8 @@
 //
 //
 //     .{
 //     .{
 //         false,
 //         false,
-//         @as(u32, 15);
-//         @as(i64, 67.12);
+//         @as(u32, 15),
+//         @as(f64, 67.12)
 //     }
 //     }
 //
 //
 // We call these "tuples", which is a term used by many
 // We call these "tuples", which is a term used by many