Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chapter 14 fixes #16471

Merged
merged 6 commits into from
Aug 21, 2014
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 40 additions & 40 deletions src/doc/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -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!
```
Expand Down Expand Up @@ -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;
^
Expand All @@ -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);
^
Expand Down Expand Up @@ -1769,7 +1769,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>"]
```

Expand All @@ -1780,15 +1780,15 @@ Finally, Cargo generated a hello, world for us. Check out `src/main.rs`:

```{rust}
fn main() {
println!("Hello world!");
println!("Hello, world!");
}
```

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)
$
```

Expand Down Expand Up @@ -1901,7 +1901,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;
^~~~~~~~
Expand Down Expand Up @@ -1949,7 +1949,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)
$
```

Expand Down Expand Up @@ -2008,8 +2008,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.
Expand Down Expand Up @@ -2063,7 +2063,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) {
^~~~~
Expand Down Expand Up @@ -2117,7 +2117,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) {
^~~~~
Expand Down Expand Up @@ -2148,7 +2148,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.
Expand All @@ -2170,8 +2170,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
Expand Down Expand Up @@ -2220,7 +2220,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) {
^~~~~~~~~
Expand Down Expand Up @@ -2279,8 +2279,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.
Expand Down Expand Up @@ -2345,8 +2345,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.
Expand Down Expand Up @@ -2423,8 +2423,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.
Expand Down Expand Up @@ -2556,8 +2556,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.
Expand Down Expand Up @@ -2671,7 +2671,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!
```
Expand Down Expand Up @@ -2732,7 +2732,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();
^~~~~~~~~~~~~~~~~~
Expand All @@ -2756,7 +2756,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!
$
Expand Down Expand Up @@ -2806,7 +2806,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!");
Expand Down Expand Up @@ -2842,7 +2842,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!
```
Expand Down Expand Up @@ -2908,7 +2908,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)
$
```

Expand Down Expand Up @@ -3080,7 +3080,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!
$
Expand Down Expand Up @@ -3113,7 +3113,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");
Expand Down Expand Up @@ -3146,7 +3146,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
Expand Down Expand Up @@ -3221,7 +3221,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");
Expand Down Expand Up @@ -3260,7 +3260,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

Expand Down Expand Up @@ -3289,7 +3289,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);
^~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -3348,7 +3348,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

Expand Down Expand Up @@ -3388,7 +3388,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

Expand Down Expand Up @@ -3432,7 +3432,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;
^~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -3475,7 +3475,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
Expand Down