1
Fork 0

auto merge of #16471 : EduardoBautista/rust/chapter-14-fixes, r=steveklabnik

Just some small fixes for the guide.  The cargo stuff is probably because of an update.
This commit is contained in:
bors 2014-08-21 06:05:58 +00:00
commit 20b3313c8c

View file

@ -342,7 +342,7 @@ Once you have this file in place, we should be ready to build! Try this:
```{bash}
$ cargo build
Compiling hello_world v0.1.0 (file:/home/yourname/projects/hello_world)
Compiling hello_world v0.0.1 (file:///home/yourname/projects/hello_world)
$ ./target/hello_world
Hello, world!
```
@ -486,7 +486,7 @@ You can use `cargo build` on the command line to build it. You'll get a warning,
but it will still print "Hello, world!":
```{ignore,notrust}
Compiling hello_world v0.1.0 (file:/home/you/projects/hello_world)
Compiling hello_world v0.0.1 (file:///home/you/projects/hello_world)
src/hello_world.rs:2:9: 2:10 warning: unused variable: `x`, #[warn(unused_variable)] on by default
src/hello_world.rs:2 let x: int;
^
@ -508,7 +508,7 @@ And try to build it. You'll get an error:
```{bash}
$ cargo build
Compiling hello_world v0.1.0 (file:/home/you/projects/hello_world)
Compiling hello_world v0.0.1 (file:///home/you/projects/hello_world)
src/hello_world.rs:4:39: 4:40 error: use of possibly uninitialized variable: `x`
src/hello_world.rs:4 println!("The value of x is: {}", x);
^
@ -1782,7 +1782,7 @@ Check out the generated `Cargo.toml`:
[package]
name = "guessing_game"
version = "0.1.0"
version = "0.0.1"
authors = ["Your Name <you@example.com>"]
```
@ -1793,7 +1793,7 @@ Finally, Cargo generated a hello, world for us. Check out `src/main.rs`:
```{rust}
fn main() {
println!("Hello world!");
println!("Hello, world!");
}
```
@ -1801,7 +1801,7 @@ Let's try compiling what Cargo gave us:
```{bash}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$
```
@ -1914,7 +1914,7 @@ Let's try to compile this using `cargo build`:
```{notrust,no_run}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
src/main.rs:7:26: 7:34 error: the type of this value must be known in this context
src/main.rs:7 let secret_number = (rand::random() % 100i) + 1i;
^~~~~~~~
@ -1962,7 +1962,7 @@ fn main() {
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$
```
@ -2021,8 +2021,8 @@ And trying it out:
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
$ ./target/guessing_game
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$ ./target/guessing_game
Guess the number!
The secret number is: 57
Please input your guess.
@ -2076,7 +2076,7 @@ If we try to compile, we'll get some errors:
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
src/main.rs:20:15: 20:20 error: mismatched types: expected `int` but found `collections::string::String` (expected int but found struct collections::string::String)
src/main.rs:20 match cmp(input, secret_number) {
^~~~~
@ -2130,7 +2130,7 @@ And try compiling again:
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
src/main.rs:20:15: 20:20 error: mismatched types: expected `uint` but found `collections::string::String` (expected uint but found struct collections::string::String)
src/main.rs:20 match cmp(input, secret_number) {
^~~~~
@ -2161,7 +2161,7 @@ a function for that:
let input = io::stdin().read_line()
.ok()
.expect("Failed to read line");
let guess: Option<uint> = from_str(input.as_slice());
let input_num: Option<uint> = from_str(input.as_slice());
```
The `from_str` function takes in a `&str` value and converts it into something.
@ -2183,8 +2183,8 @@ In this case, we say `x` is a `uint` explicitly, so Rust is able to properly
tell `random()` what to generate. In a similar fashion, both of these work:
```{rust,ignore}
let guess = from_str::<Option<uint>>("5");
let guess: Option<uint> = from_str("5");
let input_num = from_str::<Option<uint>>("5");
let input_num: Option<uint> = from_str("5");
```
In this case, I happen to prefer the latter, and in the `random()` case, I prefer
@ -2233,7 +2233,7 @@ Let's try it out!
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
src/main.rs:22:15: 22:24 error: mismatched types: expected `uint` but found `core::option::Option<uint>` (expected uint but found enum core::option::Option)
src/main.rs:22 match cmp(input_num, secret_number) {
^~~~~~~~~
@ -2292,8 +2292,8 @@ print an error message and return. Let's give this a shot:
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
$ ./target/guessing_game
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$ ./target/guessing_game
Guess the number!
The secret number is: 17
Please input your guess.
@ -2358,8 +2358,8 @@ Let's try it!
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
$ ./target/guessing_game
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$ ./target/guessing_game
Guess the number!
The secret number is: 58
Please input your guess.
@ -2436,8 +2436,8 @@ that `return`? If we give a non-number answer, we'll `return` and quit. Observe:
```{notrust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
$ ./target/guessing_game
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$ ./target/guessing_game
Guess the number!
The secret number is: 59
Please input your guess.
@ -2569,8 +2569,8 @@ Now we should be good! Let's try:
```{rust,ignore}
$ cargo build
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
$ ./target/guessing_game
Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
$ ./target/guessing_game
Guess the number!
The secret number is: 61
Please input your guess.
@ -2684,7 +2684,7 @@ Let's double check our work by compiling:
```{bash,ignore}
$ cargo build
Compiling modules v0.1.0 (file:/home/you/projects/modules)
Compiling modules v0.0.1 (file:///home/you/projects/modules)
$ ./target/modules
Hello, world!
```
@ -2745,7 +2745,7 @@ mod hello {
It gives an error:
```{notrust,ignore}
Compiling modules v0.1.0 (file:/home/you/projects/modules)
Compiling modules v0.0.1 (file:///home/you/projects/modules)
src/main.rs:2:5: 2:23 error: function `print_hello` is private
src/main.rs:2 hello::print_hello();
^~~~~~~~~~~~~~~~~~
@ -2769,7 +2769,7 @@ This will work:
```{notrust,ignore}
$ cargo run
Compiling modules v0.1.0 (file:/home/steve/tmp/modules)
Compiling modules v0.0.1 (file:///home/you/projects/modules)
Running `target/modules`
Hello, world!
$
@ -2819,7 +2819,7 @@ This doesn't _quite_ work yet. Try it:
```{notrust,ignore}
$ cargo build
Compiling modules v0.1.0 (file:/home/you/projects/modules)
Compiling modules v0.0.1 (file:///home/you/projects/modules)
/home/you/projects/modules/src/lib.rs:2:5: 4:6 warning: code is never used: `print_hello`, #[warn(dead_code)] on by default
/home/you/projects/modules/src/lib.rs:2 pub fn print_hello() {
/home/you/projects/modules/src/lib.rs:3 println!("Hello, world!");
@ -2855,7 +2855,7 @@ And everything should work:
```{notrust,ignore}
$ cargo run
Compiling modules v0.1.0 (file:/home/you/projects/modules)
Compiling modules v0.0.1 (file:///home/you/projects/modules)
Running `target/modules`
Hello, world!
```
@ -2921,7 +2921,7 @@ This should all compile as usual:
```{notrust,ignore}
$ cargo build
Compiling modules v0.1.0 (file:/home/you/projects/modules)
Compiling modules v0.0.1 (file:///home/you/projects/modules)
$
```
@ -3093,7 +3093,7 @@ And try it out:
```{notrust,ignore}
$ cargo run
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
Running `target/testing`
Hello, world!
$
@ -3126,7 +3126,7 @@ it `false`, so this test should fail. Let's try it!
```{notrust,ignore}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
/home/you/projects/testing/src/main.rs:1:1: 3:2 warning: code is never used: `main`, #[warn(dead_code)] on by default
/home/you/projects/testing/src/main.rs:1 fn main() {
/home/you/projects/testing/src/main.rs:2 println!("Hello, world");
@ -3159,7 +3159,7 @@ Lots of output! Let's break this down:
```{notrust,ignore}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
```
You can run all of your tests with `cargo test`. This runs both your tests in
@ -3234,7 +3234,7 @@ And then try to run our tests again:
```{notrust,ignore}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
/home/you/projects/testing/src/main.rs:1:1: 3:2 warning: code is never used: `main`, #[warn(dead_code)] on by default
/home/you/projects/testing/src/main.rs:1 fn main() {
/home/you/projects/testing/src/main.rs:2 println!("Hello, world");
@ -3273,7 +3273,7 @@ With this attribute, we won't get the warning:
```{notrust,ignore}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
running 0 tests
@ -3302,7 +3302,7 @@ And try to run the test:
```{notrust,ignore}
$ cargo test
Compiling testing v0.1.0 (file:/home/youg/projects/testing)
Compiling testing v0.0.1 (file:///home/youg/projects/testing)
/home/youg/projects/testing/tests/lib.rs:3:18: 3:38 error: unresolved name `add_three_times_four`.
/home/youg/projects/testing/tests/lib.rs:3 let result = add_three_times_four(5i);
^~~~~~~~~~~~~~~~~~~~
@ -3361,7 +3361,7 @@ Let's give it a run:
```{ignore,notrust}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
running 0 tests
@ -3401,7 +3401,7 @@ If you run `cargo test`, you should get the same output:
```{ignore,notrust}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
running 0 tests
@ -3445,7 +3445,7 @@ fn test_add_three() {
We'd get this error:
```{notrust,ignore}
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
/home/you/projects/testing/tests/lib.rs:3:5: 3:24 error: function `add_three` is private
/home/you/projects/testing/tests/lib.rs:3 use testing::add_three;
^~~~~~~~~~~~~~~~~~~
@ -3488,7 +3488,7 @@ Let's give it a shot:
```{ignore,notrust}
$ cargo test
Compiling testing v0.1.0 (file:/home/you/projects/testing)
Compiling testing v0.0.1 (file:///home/you/projects/testing)
running 1 test
test test::test_times_four ... ok