@@ -111,8 +111,8 @@ Cargo will build this crate as a library:
111
111
``` bash
112
112
$ cargo build
113
113
Compiling phrases v0.0.1 (file:///home/you/projects/phrases)
114
- $ ls target/debug
115
- build deps examples libphrases-a7448e02a0468eaa.rlib native
114
+ $ ls target
115
+ deps libphrases-a7448e02a0468eaa.rlib native
116
116
```
117
117
118
118
` libphrase-hash.rlib ` is the compiled crate. Before we see how to use this
@@ -163,12 +163,9 @@ $ tree .
163
163
│ │ └── mod.rs
164
164
│ └── lib.rs
165
165
└── target
166
- └── debug
167
- ├── build
168
- ├── deps
169
- ├── examples
170
- ├── libphrases-a7448e02a0468eaa.rlib
171
- └── native
166
+ ├── deps
167
+ ├── libphrases-a7448e02a0468eaa.rlib
168
+ └── native
172
169
```
173
170
174
171
` src/lib.rs ` is our crate root, and looks like this:
@@ -217,6 +214,8 @@ fn goodbye() -> String {
217
214
Put this in ` src/japanese/greetings.rs ` :
218
215
219
216
``` rust
217
+ // in src/japanese/greetings.rs
218
+
220
219
fn hello () -> String {
221
220
" こんにちは" . to_string ()
222
221
}
@@ -276,15 +275,14 @@ this:
276
275
``` bash
277
276
$ cargo build
278
277
Compiling phrases v0.0.1 (file:///home/you/projects/phrases)
279
- src/main.rs:4:38: 4:72 error: function `hello` is private
280
- src/main.rs:4 println! (" Hello in English: {}" , phrases::english::greetings::hello ());
281
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
278
+ /home/you/projects/phrases/ src/main.rs:4:38: 4:72 error: function `hello` is private
279
+ /home/you/projects/phrases/ src/main.rs:4 println! (" Hello in English: {}" , phrases::english::greetings::hello ());
280
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
282
281
note: in expansion of format_args!
283
- < std macros> :2:25: 2:58 note: expansion site
284
- < std macros> :1:1: 2:62 note: in expansion of print!
285
- < std macros> :3:1: 3:54 note: expansion site
286
- < std macros> :1:1: 3:58 note: in expansion of println!
287
- phrases/src/main.rs:4:5: 4:76 note: expansion site
282
+ < std macros> :2:23: 2:77 note: expansion site
283
+ < std macros> :1:1: 3:2 note: in expansion of println!
284
+ /home/you/projects/phrases/src/main.rs:4:5: 4:76 note: expansion site
285
+
288
286
` ` `
289
287
290
288
By default, everything is private in Rust. Let' s talk about this in some more
@@ -342,15 +340,15 @@ functions:
342
340
` ` ` bash
343
341
$ cargo run
344
342
Compiling phrases v0.0.1 (file:///home/you/projects/phrases)
345
- src/japanese/greetings.rs:1:1: 3:2 warning: function is never used: ` hello` , # [warn(dead_code)] on by default
346
- src/japanese/greetings.rs:1 fn hello () -> String {
347
- src/japanese/greetings.rs:2 " こんにちは" .to_string()
348
- src/japanese/greetings.rs:3 }
349
- src/japanese/farewells.rs:1:1: 3:2 warning: function is never used: ` goodbye` , # [warn(dead_code)] on by default
350
- src/japanese/farewells.rs:1 fn goodbye () -> String {
351
- src/japanese/farewells.rs:2 " さようなら" .to_string()
352
- src/japanese/farewells.rs:3 }
353
- Running ` target/debug/ phrases`
343
+ /home/you/projects/phrases/ src/japanese/greetings.rs:1:1: 3:2 warning: code is never used: ` hello` , # [warn(dead_code)] on by default
344
+ /home/you/projects/phrases/ src/japanese/greetings.rs:1 fn hello () -> String {
345
+ /home/you/projects/phrases/ src/japanese/greetings.rs:2 " こんにちは" .to_string()
346
+ /home/you/projects/phrases/ src/japanese/greetings.rs:3 }
347
+ /home/you/projects/phrases/ src/japanese/farewells.rs:1:1: 3:2 warning: code is never used: ` goodbye` , # [warn(dead_code)] on by default
348
+ /home/you/projects/phrases/ src/japanese/farewells.rs:1 fn goodbye () -> String {
349
+ /home/you/projects/phrases/ src/japanese/farewells.rs:2 " さようなら" .to_string()
350
+ /home/you/projects/phrases/ src/japanese/farewells.rs:3 }
351
+ Running ` target/phrases`
354
352
Hello in English: Hello!
355
353
Goodbye in English: Goodbye.
356
354
` ` `
@@ -416,9 +414,9 @@ Rust will give us a compile-time error:
416
414
417
415
` ` ` text
418
416
Compiling phrases v0.0.1 (file:///home/you/projects/phrases)
419
- src/main.rs:4:5: 4:40 error: a value named ` hello` has already been imported in this module [E0252]
420
- src/main.rs:4 use phrases::japanese::greetings::hello;
421
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
417
+ /home/you/projects/phrases/ src/main.rs:4:5: 4:40 error: a value named ` hello` has already been imported in this module
418
+ /home/you/projects/phrases/ src/main.rs:4 use phrases::japanese::greetings::hello;
419
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
422
420
error: aborting due to previous error
423
421
Could not compile ` phrases` .
424
422
` ` `
@@ -525,7 +523,7 @@ This will build and run:
525
523
```bash
526
524
$ cargo run
527
525
Compiling phrases v0.0.1 (file:///home/you/projects/phrases)
528
- Running `target/debug/ phrases`
526
+ Running `target/phrases`
529
527
Hello in English: Hello!
530
528
Goodbye in English: Goodbye.
531
529
Hello in Japanese: こんにちは
0 commit comments