book
book copied to clipboard
update listings 11-01 and 11-03 with add function generated by cargo
This updates the testing code in chapter 11 to reflect what cargo will generate when running cargo new adder --lib
.
To add to this, since the testing code generated by cargo automatically includes the line use super::*;
, the following paragraph in Chapter 1.1 which describes this line being manually added to Listing 11-6 and the reason for doing so is misleading. Perhaps the paragraph should be moved to Listing 11-1, and altered so that is explaining why the line is (already) there.
Note that we’ve added a new line inside the tests
module: use super::*;
.
The tests
module is a regular module that follows the usual visibility rules
we covered in Chapter 7 in the [“Paths for Referring to an Item in the Module
Tree”][paths-for-referring-to-an-item-in-the-module-tree]
section. Because the tests
module is an inner module, we need to bring the
code under test in the outer module into the scope of the inner module. We use
a glob here so anything we define in the outer module is available to this
tests
module.
This specific bit was fixed via #3533. I am going to turn your comment into an issue tracking that clarification, @matthewjnield – thanks!