diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d8926ee116c6..79cd0241ec44 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,7 +6,7 @@ updates: - package-ecosystem: cargo directory: / schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler @@ -23,7 +23,7 @@ updates: - package-ecosystem: cargo directory: /src/bare-metal/alloc-example/ schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler @@ -40,7 +40,7 @@ updates: - package-ecosystem: cargo directory: /src/bare-metal/aps/examples/ schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler @@ -57,7 +57,7 @@ updates: - package-ecosystem: cargo directory: /src/bare-metal/microcontrollers/examples/ schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler @@ -74,7 +74,7 @@ updates: - package-ecosystem: cargo directory: /src/exercises/bare-metal/compass/ schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler @@ -91,7 +91,7 @@ updates: - package-ecosystem: cargo directory: /src/exercises/bare-metal/rtc/ schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler @@ -108,7 +108,7 @@ updates: - package-ecosystem: github-actions directory: / schedule: - interval: weekly + interval: monthly reviewers: - djmitche - mgeisler diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d36327e44fba..3ebb627a9670 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@v4 - name: Check for typos - uses: crate-ci/typos@v1.24.1 + uses: crate-ci/typos@v1.24.3 with: config: ./.github/typos.toml diff --git a/Cargo.lock b/Cargo.lock index bb3d2819a963..b3eeb332b02d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -483,9 +483,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c4eae4b7fc8dcb0032eb3b1beee46b38d371cdeaf2d0c64b9944f6f69ad7755" +checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" dependencies = [ "cc", "cxxbridge-flags", @@ -495,9 +495,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c822bf7fb755d97328d6c337120b6f843678178751cba33c9da25cf522272e0" +checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" dependencies = [ "cc", "codespan-reporting", @@ -510,15 +510,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719d6197dc016c88744aff3c0d0340a01ecce12e8939fc282e7c8f583ee64bc6" +checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" [[package]] name = "cxxbridge-macro" -version = "1.0.126" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35de3b547387863c8f82013c4f79f1c2162edee956383e4089e1d04c18c4f16c" +checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" dependencies = [ "proc-macro2", "quote", @@ -696,9 +696,9 @@ dependencies = [ [[package]] name = "fantoccini" -version = "0.21.1" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871139c015d646c5fbe287b85876fa060c9d7870ccc388e989c056b303d8462a" +checksum = "dd52b63e98251013cd5a9e881b9d460fc530e5df4eec58930c9694d6497c53e5" dependencies = [ "base64 0.22.0", "cookie 0.18.1", @@ -2825,9 +2825,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.3" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", diff --git a/mdbook-slide-evaluator/Cargo.toml b/mdbook-slide-evaluator/Cargo.toml index 827f02749040..d94e41abbcc3 100644 --- a/mdbook-slide-evaluator/Cargo.toml +++ b/mdbook-slide-evaluator/Cargo.toml @@ -11,12 +11,12 @@ description = "A tool for evaluating mdbook slides by rendering the html pages a anyhow = "1.0.86" clap = { version = "4.5.9", features = ["derive"] } csv = "1.3.0" -fantoccini = "0.21.1" +fantoccini = "0.21.2" glob = "0.3.1" log = "0.4.22" pretty_env_logger = "0.5.0" serde = { version = "1.0.209", features = ["derive"] } strum = { version = "0.26.3", features = ["derive"] } -tokio = { version = "1.38.1", features = ["full"] } +tokio = { version = "1.40.0", features = ["full"] } tokio-util = "0.7.11" url = "2.5.2" diff --git a/src/bare-metal/aps/examples/Cargo.lock b/src/bare-metal/aps/examples/Cargo.lock index 497d761ff2a6..1e73a454eeb3 100644 --- a/src/bare-metal/aps/examples/Cargo.lock +++ b/src/bare-metal/aps/examples/Cargo.lock @@ -27,9 +27,9 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "cc" -version = "1.1.14" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d2eb3cd3d1bf4529e31c215ee6f93ec5a3d536d9f578f93d9d33ee19562932" +checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" dependencies = [ "shlex", ] diff --git a/src/bare-metal/aps/examples/Cargo.toml b/src/bare-metal/aps/examples/Cargo.toml index 25ae962494c6..d90ac0fbf2db 100644 --- a/src/bare-metal/aps/examples/Cargo.toml +++ b/src/bare-metal/aps/examples/Cargo.toml @@ -13,7 +13,7 @@ smccc = "0.1.1" spin = "0.9.8" [build-dependencies] -cc = "1.1.14" +cc = "1.1.15" [[bin]] name = "improved" diff --git a/src/concurrency/async-exercises/chat-async/Cargo.toml b/src/concurrency/async-exercises/chat-async/Cargo.toml index a42a63b04b69..ad4a4318756a 100644 --- a/src/concurrency/async-exercises/chat-async/Cargo.toml +++ b/src/concurrency/async-exercises/chat-async/Cargo.toml @@ -6,5 +6,5 @@ edition = "2021" [dependencies] futures-util = { version = "0.3.30", features = ["sink"] } http = "1.1.0" -tokio = { version = "1.39.3", features = ["full"] } +tokio = { version = "1.40.0", features = ["full"] } tokio-websockets = { version = "0.9.0", features = ["client", "fastrand", "server", "sha1_smol"] } diff --git a/src/concurrency/send-sync/examples.md b/src/concurrency/send-sync/examples.md index d3074df3283c..0a45ba829917 100644 --- a/src/concurrency/send-sync/examples.md +++ b/src/concurrency/send-sync/examples.md @@ -30,10 +30,12 @@ Typically because of interior mutability: ## `!Send + Sync` -These types are thread-safe, but they cannot be moved to another thread: +These types are safe to access (via shared references) from multiple threads, +but they cannot be moved to another thread: - `MutexGuard`: Uses OS level primitives which must be deallocated on - the thread which created them. + the thread which created them. However, an already-locked mutex can have its + guarded variable read by any thread with which the guard is shared. ## `!Send + !Sync` diff --git a/src/exercises/bare-metal/rtc/Cargo.lock b/src/exercises/bare-metal/rtc/Cargo.lock index 5b72f2a0ba4c..81bfb9f653ac 100644 --- a/src/exercises/bare-metal/rtc/Cargo.lock +++ b/src/exercises/bare-metal/rtc/Cargo.lock @@ -25,9 +25,9 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "cc" -version = "1.1.14" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d2eb3cd3d1bf4529e31c215ee6f93ec5a3d536d9f578f93d9d33ee19562932" +checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" dependencies = [ "shlex", ] diff --git a/src/exercises/bare-metal/rtc/Cargo.toml b/src/exercises/bare-metal/rtc/Cargo.toml index 96078ce4bdd9..b522792d3af8 100644 --- a/src/exercises/bare-metal/rtc/Cargo.toml +++ b/src/exercises/bare-metal/rtc/Cargo.toml @@ -15,4 +15,4 @@ smccc = "0.1.1" spin = "0.9.8" [build-dependencies] -cc = "1.1.14" +cc = "1.1.15" diff --git a/src/glossary.md b/src/glossary.md index c00c255ebb97..1d5ea923d09c 100644 --- a/src/glossary.md +++ b/src/glossary.md @@ -32,6 +32,9 @@ h1#glossary ~ ul > li:first-line { Dynamic memory allocation on [the heap](memory-management/review.md). - argument:\ Information that is passed into a function or method. +- associated type:\ + A type associated with a specific trait. Useful for defining the relationship + between types. - Bare-metal Rust:\ Low-level Rust development, often deployed to a system without an operating system. See [Bare-metal Rust](bare-metal.md). diff --git a/src/std-types/hashmap.md b/src/std-types/hashmap.md index 587977c0982e..6399bc15e89f 100644 --- a/src/std-types/hashmap.md +++ b/src/std-types/hashmap.md @@ -51,7 +51,7 @@ fn main() { .get("Harry Potter and the Sorcerer's Stone") .unwrap_or(&336); let pc2 = page_counts - .entry("The Hunger Games".to_string()) + .entry("The Hunger Games") .or_insert(374); ``` - Unlike `vec!`, there is unfortunately no standard `hashmap!` macro. diff --git a/src/testing/Cargo.toml b/src/testing/Cargo.toml index 049f999caef9..a4eaf5fc0adb 100644 --- a/src/testing/Cargo.toml +++ b/src/testing/Cargo.toml @@ -4,6 +4,9 @@ version = "0.1.0" edition = "2021" publish = false +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(never)'] } + [[bin]] name = "luhn" path = "exercise.rs"