part 08: new exercise, fix numbering
authorRalf Jung <post@ralfj.de>
Tue, 7 Jul 2015 11:27:41 +0000 (13:27 +0200)
committerRalf Jung <post@ralfj.de>
Tue, 7 Jul 2015 11:27:41 +0000 (13:27 +0200)
src/part08.rs
workspace/src/part08.rs

index cacff46862b5649cb1bcc144189b7522db6b524e..630da427dfec70d2dad9f1920579b2b4277faf8e 100644 (file)
@@ -101,6 +101,8 @@ impl<'a, 'b> ops::Add<&'a BigInt> for &'b BigInt {
     }
 }
 
     }
 }
 
+// **Exercise 08.4**: Implement the two missing combinations of arguments for `Add`. You should not have to duplicate the implementation.
+
 // ## Modules
 //@ As you learned, tests can be written right in the middle of your development in Rust. However, it is
 //@ considered good style to bundle all tests together. This is particularly useful in cases where
 // ## Modules
 //@ As you learned, tests can be written right in the middle of your development in Rust. However, it is
 //@ considered good style to bundle all tests together. This is particularly useful in cases where
@@ -117,7 +119,7 @@ mod tests {
         let b2 = BigInt::from_vec(vec![0, 1]);
 
         assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
         let b2 = BigInt::from_vec(vec![0, 1]);
 
         assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
-        // **Exercise 08.4**: Add some more cases to this test.
+        // **Exercise 08.5**: Add some more cases to this test.
     }
 }
 //@ As already mentioned, outside of the module, only those items declared public with `pub` may be used. Submodules can access
     }
 }
 //@ As already mentioned, outside of the module, only those items declared public with `pub` may be used. Submodules can access
@@ -140,7 +142,7 @@ mod tests {
 //@ from other files. This ensures that the directory structure mirrors the structure of the modules, with `mod.rs`, `lib.rs`
 //@ and `main.rs` representing a directory or crate itself (similar to, e.g., `__init__.py` in Python).
 
 //@ from other files. This ensures that the directory structure mirrors the structure of the modules, with `mod.rs`, `lib.rs`
 //@ and `main.rs` representing a directory or crate itself (similar to, e.g., `__init__.py` in Python).
 
-// **Exercise 08.4**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
+// **Exercise 08.6**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
 // For example, you may want to return an `Option`, to panic, or to return `0`.
 
 //@ [index](main.html) | [previous](part07.html) | [next](main.html)
 // For example, you may want to return an `Option`, to panic, or to return `0`.
 
 //@ [index](main.html) | [previous](part07.html) | [next](main.html)
index 5a5f79222071bb9359eee608acee23e37102e6ee..d03934a8a023b6827f2c9298ccd9bca51d9fc0dd 100644 (file)
@@ -69,6 +69,8 @@ impl<'a, 'b> ops::Add<&'a BigInt> for &'b BigInt {
     }
 }
 
     }
 }
 
+// **Exercise 08.4**: Implement the two missing combinations of arguments for `Add`. You should not have to duplicate the implementation.
+
 // ## Modules
 
 // Rust calls a bunch of definitions that are grouped together a *module*. You can put the tests in a submodule as follows.
 // ## Modules
 
 // Rust calls a bunch of definitions that are grouped together a *module*. You can put the tests in a submodule as follows.
@@ -80,10 +82,10 @@ mod tests {
         let b2 = BigInt::from_vec(vec![0, 1]);
 
         assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
         let b2 = BigInt::from_vec(vec![0, 1]);
 
         assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
-        // **Exercise 08.4**: Add some more cases to this test.
+        // **Exercise 08.5**: Add some more cases to this test.
     }
 }
 
     }
 }
 
-// **Exercise 08.4**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
+// **Exercise 08.6**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
 // For example, you may want to return an `Option`, to panic, or to return `0`.
 
 // For example, you may want to return an `Option`, to panic, or to return `0`.