Compare commits

...

3 Commits

Author SHA1 Message Date
KaiserY
769fb8fa9d update listings 2025-05-07 00:10:20 +08:00
KaiserY
698c6fb96e update ch17-06 2025-05-06 23:52:07 +08:00
KaiserY
964a29b03a update ch17-06 2025-05-06 23:36:53 +08:00
847 changed files with 5362 additions and 14770 deletions

View File

@ -4,7 +4,8 @@
## 状态
- 新增 ch17 async & await & 2024 edtion 施工中,若示例代码有误请见谅。
- ch17 async & await 施工完毕。
- 2024 edtion 施工中,若示例代码有误请见谅。
PS:

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -25,7 +25,7 @@ fn main() {
// ANCHOR_END: expect
// ANCHOR: print_guess
println!("You guessed: {}", guess);
println!("You guessed: {guess}");
// ANCHOR_END: print_guess
}
// ANCHOR: all

View File

@ -1,6 +1,12 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
version = 4
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "cfg-if"
@ -10,9 +16,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "getrandom"
version = "0.2.12"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
"libc",
@ -28,15 +34,36 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.153"
version = "0.2.170"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
[[package]]
name = "ppv-lite86"
version = "0.2.17"
version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
dependencies = [
"zerocopy",
]
[[package]]
name = "proc-macro2"
version = "1.0.93"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rand"
@ -68,8 +95,46 @@ dependencies = [
"getrandom",
]
[[package]]
name = "syn"
version = "2.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "zerocopy"
version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
dependencies = [
"byteorder",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
"syn",
]

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,5 +1,6 @@
// ANCHOR: all
use std::io;
// ANCHOR: ch07-04
use rand::Rng;

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,10 +1,4 @@
$ cargo build
Downloading crates ...
Downloaded rand_core v0.6.2
Downloaded getrandom v0.2.2
Downloaded rand_chacha v0.3.0
Downloaded ppv-lite86 v0.2.10
Downloaded libc v0.2.86
Compiling libc v0.2.86
Compiling getrandom v0.2.2
Compiling cfg-if v1.0.0
@ -14,9 +8,9 @@ $ cargo build
Compiling rand v0.8.5
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
error[E0308]: mismatched types
--> src/main.rs:22:21
--> src/main.rs:23:21
|
22 | match guess.cmp(&secret_number) {
23 | match guess.cmp(&secret_number) {
| --- ^^^^^^^^^^^^^^ expected `&String`, found `&{integer}`
| |
| arguments to this method are incorrect
@ -24,7 +18,7 @@ error[E0308]: mismatched types
= note: expected reference `&String`
found reference `&{integer}`
note: method defined here
--> /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/cmp.rs:839:8
--> /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/cmp.rs:964:8
For more information about this error, try `rustc --explain E0308`.
error: could not compile `guessing_game` (bin "guessing_game") due to 1 previous error

View File

@ -1,8 +1,9 @@
// ANCHOR: here
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use rand::Rng;
fn main() {
// --snip--
// ANCHOR_END: here

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use rand::Rng;
fn main() {
println!("Guess the number!");

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use rand::Rng;
fn main() {
println!("Guess the number!");

View File

@ -1,8 +1,6 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
edition = "2024"
[dependencies]

View File

@ -1,5 +1,5 @@
$ cargo run
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.50s
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.08s
Running `target/debug/guessing_game`
Hello, world!

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use rand::Rng;
fn main() {
println!("Guess the number!");

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use rand::Rng;
fn main() {
println!("Guess the number!");

View File

@ -1,7 +1,7 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,7 +1,8 @@
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use rand::Rng;
fn main() {
println!("Guess the number!");

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "variables"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "variables"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "variables"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "variables"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "variables"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "floating-point"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "numeric-operations"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "boolean"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "char"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "tuples"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "tuples"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "tuples"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "arrays"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "arrays"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "arrays"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "functions"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "comments"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,3 +1,3 @@
fn main() {
let lucky_number = 7; // Im feeling lucky today
let lucky_number = 7; // I'm feeling lucky today
}

View File

@ -1,6 +1,6 @@
[package]
name = "comments"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,4 +1,4 @@
fn main() {
// Im feeling lucky today
// I'm feeling lucky today
let lucky_number = 7;
}

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "branches"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "loops"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,7 +1,7 @@
[package]
name = "no_type_annotations"
version = "0.1.0"
edition = "2021"
edition = "2024"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -8,7 +8,7 @@ fn main() {
makes_copy(x); // x 应该移动函数里,
// 但 i32 是 Copy 的,
// 所以在后面可继续使用 x
println!("{}", x); // 所以在后面可继续使用 x
} // 这里x 先移出了作用域,然后是 s。但因为 s 的值已被移走,
// 没有特殊之处

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,29 +1,30 @@
fn main() {
let s1 = gives_ownership(); // gives_ownership 将返回值
// 转移给 s1
let s1 = gives_ownership(); // gives_ownership moves its return
// value into s1
let s2 = String::from("hello"); // s2 进入作用域
let s2 = String::from("hello"); // s2 comes into scope
let s3 = takes_and_gives_back(s2); // s2 被移动到
// takes_and_gives_back 中,
// 它也将返回值移给 s3
} // 这里s3 移出作用域并被丢弃。s2 也移出作用域,但已被移走,
// 所以什么也不会发生。s1 离开作用域并被丢弃
let s3 = takes_and_gives_back(s2); // s2 is moved into
// takes_and_gives_back, which also
// moves its return value into s3
} // Here, s3 goes out of scope and is dropped. s2 was moved, so nothing
// happens. s1 goes out of scope and is dropped.
fn gives_ownership() -> String { // gives_ownership 会将
// 返回值移动给
// 调用它的函数
fn gives_ownership() -> String { // gives_ownership will move its
// return value into the function
// that calls it
let some_string = String::from("yours"); // some_string 进入作用域。
let some_string = String::from("yours"); // some_string comes into scope
some_string // 返回 some_string
// 并移出给调用的函数
//
some_string // some_string is returned and
// moves out to the calling
// function
}
// takes_and_gives_back 将传入字符串并返回该值
fn takes_and_gives_back(a_string: String) -> String { // a_string 进入作用域
//
// 该函数将传入字符串并返回该值
fn takes_and_gives_back(a_string: String) -> String {
// a_string comes into
// scope
a_string // 返回 a_string 并移出给调用的函数
}

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "ownership"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "structs"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "structs"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "structs"
version = "0.1.0"
edition = "2021"
edition = "2024"
[dependencies]

Some files were not shown because too many files have changed in this diff Show More