Skip to content

Commit 3d0d247

Browse files
committed
Merge branch 'master' of https://github.com/yuk1ty/learning-systems-programming-in-rust into replace_3_9_section
2 parents df52554 + dcac3ef commit 3d0d247

File tree

23 files changed

+124
-3
lines changed

23 files changed

+124
-3
lines changed

Cargo.lock

+53
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ members = [
1717
"chapter15",
1818
"chapter16",
1919
"chapter17",
20-
"appendix"
20+
"appendix",
21+
"lib"
2122
]

appendix/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter1/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter10/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter11/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter12/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter13/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter14/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter15/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter16/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter17/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter2/Cargo.toml

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
[package]
2-
name = "chapter2"
3-
version = "0.1.0"
42
authors = ["yytyd <[email protected]>"]
53
edition = "2018"
4+
name = "chapter2"
5+
version = "0.1.0"
66

77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }
1011

1112
[[bin]]
1213
name = "2_4_1"
@@ -16,10 +17,18 @@ path = "src/2_4_1/main.rs"
1617
name = "2_4_2"
1718
path = "src/2_4_2/main.rs"
1819

20+
[[bin]]
21+
name = "2_4_3"
22+
path = "src/2_4_3/main.rs"
23+
1924
[[bin]]
2025
name = "client_2_4_4"
2126
path = "src/2_4_4/client.rs"
2227

2328
[[bin]]
2429
name = "server_2_4_4"
2530
path = "src/2_4_4/server.rs"
31+
32+
[[bin]]
33+
name = "2_8_2"
34+
path = "src/2_8_2/main.rs"

chapter2/src/2_4_3/main.rs

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use std::io::Write;
2+
use std::str;
3+
4+
#[derive(Debug)]
5+
enum BufferError {
6+
IOError(std::io::Error),
7+
StrError(str::Utf8Error),
8+
}
9+
10+
impl From<std::io::Error> for BufferError {
11+
fn from(error: std::io::Error) -> Self {
12+
BufferError::IOError(error)
13+
}
14+
}
15+
16+
impl From<str::Utf8Error> for BufferError {
17+
fn from(error: str::Utf8Error) -> Self {
18+
BufferError::StrError(error)
19+
}
20+
}
21+
22+
fn main() -> Result<(), BufferError> {
23+
let mut buffer: Vec<u8> = Vec::new();
24+
buffer.write(b"bytes.Buffer example1\n")?;
25+
println!("{}", str::from_utf8(&buffer)?);
26+
buffer.write(b"bytes.Buffer example2\n")?;
27+
println!("{}", str::from_utf8(&buffer)?);
28+
Ok(())
29+
}

chapter2/src/2_8_2/main.rs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
unimplemented!("『Goならわかるシステムプログラミング』の該当問題は `encoding/csv` パッケージを使うことが主題なので、Rustへの移植はできない。");
3+
}

chapter3/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ edition = "2018"
99
[dependencies]
1010
rand = "0.8.3"
1111
zip = "0.5.12"
12+
lib = { path = "../lib" }
1213

1314
[[bin]]
1415
name = "main_3_1"

chapter5/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter6/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter7/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter8/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

chapter9/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ edition = "2018"
77
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
88

99
[dependencies]
10+
lib = { path = "../lib" }

lib/Cargo.toml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[package]
2+
name = "lib"
3+
version = "0.1.0"
4+
authors = ["yuk1ty <[email protected]>"]
5+
edition = "2018"
6+
7+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8+
9+
[dependencies]

lib/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
// 共通ライブラリ

0 commit comments

Comments
 (0)