aboutsummaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
Diffstat (limited to 'patches')
-rw-r--r--patches/patches/065_builtins2.patch65
-rw-r--r--patches/patches/080_anonymous_structs.patch26
2 files changed, 57 insertions, 34 deletions
diff --git a/patches/patches/065_builtins2.patch b/patches/patches/065_builtins2.patch
index 1c2acf5..9c1bf76 100644
--- a/patches/patches/065_builtins2.patch
+++ b/patches/patches/065_builtins2.patch
@@ -1,26 +1,39 @@
-43c43
-< const print = import(std).debug.print; // Oops!
----
-> const print = @import("std").debug.print;
-60,61c60,61
-< ??? = &narcissus;
-< ??? = &narcissus;
----
-> narcissus.me = &narcissus;
-> narcissus.myself = &narcissus;
-71c71
-< const T2 = narcissus.fetchTheMostBeautifulType();
----
-> const T2 = Narcissus.fetchTheMostBeautifulType();
-106c106
-< if (fields[0].??? != void) {
----
-> if (fields[0].field_type != void) {
-110c110
-< if (fields[1].??? != void) {
----
-> if (fields[1].field_type != void) {
-114c114
-< if (fields[2].??? != void) {
----
-> if (fields[2].field_type != void) {
+--- exercises/065_builtins2.zig
++++ answers/065_builtins2.zig
+@@ -58,7 +58,7 @@
+ // Oops! We cannot leave the 'me' and 'myself' fields
+ // undefined. Please set them here:
+ narcissus.me = &narcissus;
+- narcissus.??? = ???;
++ narcissus.myself = &narcissus;
+
+ // This determines a "peer type" from three separate
+ // references (they just happen to all be the same object).
+@@ -70,7 +70,7 @@
+ //
+ // The fix for this is very subtle, but it makes a big
+ // difference!
+- const Type2 = narcissus.fetchTheMostBeautifulType();
++ const Type2 = Narcissus.fetchTheMostBeautifulType();
+
+ // Now we print a pithy statement about Narcissus.
+ print("A {s} loves all {s}es. ", .{
+@@ -109,15 +109,15 @@
+ // Please complete these 'if' statements so that the field
+ // name will not be printed if the field is of type 'void'
+ // (which is a zero-bit type that takes up no space at all!):
+- if (fields[0].??? != void) {
++ if (fields[0].field_type != void) {
+ print(" {s}", .{@typeInfo(Narcissus).Struct.fields[0].name});
+ }
+
+- if (fields[1].??? != void) {
++ if (fields[1].field_type != void) {
+ print(" {s}", .{@typeInfo(Narcissus).Struct.fields[1].name});
+ }
+
+- if (fields[2].??? != void) {
++ if (fields[2].field_type != void) {
+ print(" {s}", .{@typeInfo(Narcissus).Struct.fields[2].name});
+ }
+
diff --git a/patches/patches/080_anonymous_structs.patch b/patches/patches/080_anonymous_structs.patch
index c9edecf..6df1890 100644
--- a/patches/patches/080_anonymous_structs.patch
+++ b/patches/patches/080_anonymous_structs.patch
@@ -1,8 +1,18 @@
-51c51
-< var circle1 = ??? {
----
-> var circle1 = Circle(i32) {
-57c57
-< var circle2 = ??? {
----
-> var circle2 = Circle(f32) {
+--- exercises/080_anonymous_structs.zig
++++ answers/080_anonymous_structs.zig
+@@ -48,13 +48,13 @@
+ // * circle1 should hold i32 integers
+ // * circle2 should hold f32 floats
+ //
+- var circle1 = ??? {
++ var circle1 = Circle(i32){
+ .center_x = 25,
+ .center_y = 70,
+ .radius = 15,
+ };
+
+- var circle2 = ??? {
++ var circle2 = Circle(f32){
+ .center_x = 25.234,
+ .center_y = 70.999,
+ .radius = 15.714,