about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEduardo Bautista <me@eduardobautista.com>2014-08-13 17:25:13 -0500
committerEduardo Bautista <me@eduardobautista.com>2014-08-19 12:07:10 -0700
commitc9284cedeb7ff4ff3d133b37bad8b1d6c32329d3 (patch)
treed3847f21586b82ee659e69be650e42e4c4088042
parent6d189220d19f32e1c0ebc4395cad58a2708fc574 (diff)
downloadrust-c9284cedeb7ff4ff3d133b37bad8b1d6c32329d3.tar.gz
rust-c9284cedeb7ff4ff3d133b37bad8b1d6c32329d3.zip
Use new Cargo file syntax
-rw-r--r--src/doc/guide.md72
1 files changed, 41 insertions, 31 deletions
diff --git a/src/doc/guide.md b/src/doc/guide.md
index 5730be093a9..8e942e534c3 100644
--- a/src/doc/guide.md
+++ b/src/doc/guide.md
@@ -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.1.0 (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.1.0 (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.1.0 (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);
                                                            ^
@@ -1788,7 +1788,7 @@ Let's try compiling what Cargo gave us:
 
 ```{bash}
 $ cargo build
-   Compiling guessing_game v0.0.1 (file:/home/you/projects/guessing_game)
+   Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
 $
 ```
 
@@ -1901,7 +1901,7 @@ Let's try to compile this using `cargo build`:
 
 ```{notrust,no_run}
 $ cargo build
-   Compiling guessing_game v0.0.1 (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;
                                        ^~~~~~~~
@@ -1949,7 +1949,7 @@ fn main() {
 
 ```{notrust,ignore}
 $ cargo build
-  Compiling guessing_game v0.0.1 (file:/home/you/projects/guessing_game)
+  Compiling guessing_game v0.0.1 (file:///home/you/projects/guessing_game)
 $
 ```
 
@@ -2008,7 +2008,7 @@ And trying it out:
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (file:/home/you/projects/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
@@ -2063,7 +2063,7 @@ If we try to compile, we'll get some errors:
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (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) {
                              ^~~~~
@@ -2117,7 +2117,7 @@ And try compiling again:
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (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) {
                              ^~~~~
@@ -2220,7 +2220,7 @@ Let's try it out!
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (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) {
                              ^~~~~~~~~
@@ -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.1.0 (file:///home/you/projects/guessing_game)
+$ ./target/guessing_game 
 Guess the number!
 The secret number is: 17
 Please input your guess.
@@ -2345,7 +2345,7 @@ Let's try it!
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (file:/home/you/projects/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
@@ -2423,7 +2423,7 @@ that `return`? If we give a non-number answer, we'll `return` and quit. Observe:
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (file:/home/you/projects/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
@@ -2556,7 +2556,7 @@ Now we should be good! Let's try:
 
 ```{rust,ignore}
 $ cargo build
-   Compiling guessing_game v0.0.1 (file:/home/you/projects/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
@@ -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.1.0 (file:///home/you/projects/modules)
 $ ./target/modules
 Hello, world!
 ```
@@ -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.1.0 (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();
                   ^~~~~~~~~~~~~~~~~~
@@ -2755,8 +2755,18 @@ mod hello {
 This will work:
 
 ```{notrust,ignore}
+$ cargo build
+   Compiling modules v0.1.0 (file:///home/you/projects/modules)
+$
+```
+
+Before we move on, let me show you one more Cargo command: `run`. `cargo run`
+is kind of like `cargo build`, but it also then runs the produced exectuable.
+Try it out:
+
+```{notrust,ignore}
 $ cargo run
-   Compiling modules v0.1.0 (file:/home/steve/tmp/modules)
+   Compiling modules v0.1.0 (file:///home/steve/tmp/modules)
      Running `target/modules`
 Hello, world!
 $
@@ -2806,7 +2816,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.1.0 (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!");
@@ -2842,7 +2852,7 @@ And everything should work:
 
 ```{notrust,ignore}
 $ cargo run
-   Compiling modules v0.1.0 (file:/home/you/projects/modules)
+   Compiling modules v0.1.0 (file:///home/you/projects/modules)
      Running `target/modules`
 Hello, world!
 ```
@@ -2908,7 +2918,7 @@ This should all compile as usual:
 
 ```{notrust,ignore}
 $ cargo build
-   Compiling modules v0.1.0 (file:/home/you/projects/modules)
+   Compiling modules v0.1.0 (file:///home/you/projects/modules)
 $
 ```
 
@@ -3080,7 +3090,7 @@ And try it out:
 
 ```{notrust,ignore}
 $ cargo run
-   Compiling testing v0.1.0 (file:/home/you/projects/testing)
+   Compiling testing v0.1.0 (file:///home/you/projects/testing)
      Running `target/testing`
 Hello, world!
 $
@@ -3113,7 +3123,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.1.0 (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");
@@ -3146,7 +3156,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.1.0 (file:///home/you/projects/testing)
 ```
 
 You can run all of your tests with `cargo test`. This runs both your tests in
@@ -3221,7 +3231,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.1.0 (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");
@@ -3260,7 +3270,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.1.0 (file:///home/you/projects/testing)
 
 running 0 tests
 
@@ -3289,7 +3299,7 @@ And try to run the test:
 
 ```{notrust,ignore}
 $ cargo test
-   Compiling testing v0.1.0 (file:/home/youg/projects/testing)
+   Compiling testing v0.1.0 (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);
                                                             ^~~~~~~~~~~~~~~~~~~~
@@ -3348,7 +3358,7 @@ Let's give it a run:
 
 ```{ignore,notrust}
 $ cargo test
-   Compiling testing v0.1.0 (file:/home/you/projects/testing)
+   Compiling testing v0.1.0 (file:///home/you/projects/testing)
 
 running 0 tests
 
@@ -3388,7 +3398,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.1.0 (file:///home/you/projects/testing)
 
 running 0 tests
 
@@ -3432,7 +3442,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.1.0 (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;
                                               ^~~~~~~~~~~~~~~~~~~
@@ -3475,7 +3485,7 @@ Let's give it a shot:
 
 ```{ignore,notrust}
 $ cargo test
-   Compiling testing v0.1.0 (file:/home/you/projects/testing)
+   Compiling testing v0.1.0 (file:///home/you/projects/testing)
 
 running 1 test
 test test::test_times_four ... ok