a0edd51120
Add a note about using rust-bindgen ( #2818 )
...
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com >
2025-07-28 02:29:32 +00:00
e157487e6e
Fix typo in Matching Values section ( #2832 )
...
Given
```
#[rustfmt::skip]
fn main() {
let input = '1';
match input {
key if key.is_lowercase() => println!("Lowercase: {key}"),
'q' => println!("Quitting"),
'a' | 's' | 'w' | 'd' => println!("Moving around"),
'0'..='9' => println!("Number input"),
_ => println!("Something else"),
}
}
```
the output will be
```
Number input
```
So in practice, failing the condition does result to the other arms if
the other arms are after that (if I'm reading this correctly).
2025-07-27 18:52:11 +02:00
697054c301
Added new reviewer for Turkish translation ( #2831 )
...
Hello, I would like to support the translation of Rust into Turkish in
order to promote it in Turkey. As I saw in the previous PRs, we need to
add our own name here, so I am opening a PR in this regard. I hope it
will have a positive outcome (I know I opened the PR with the wrong
name, I'm sorry).
2025-07-27 19:44:51 +03:00
0105fac065
Fix typo in fa.po ( #2829 )
...
Fix typo in fa.po
2025-07-27 18:34:47 +02:00
a76b50a0df
Remove unnecessary dependencies on libbinder_rs ( #2782 )
...
These dependencies turned out not to be necessary, since depending on
the generated `com.example.birthdayservice-rust` also exports the common
binder functionality.
2025-07-25 11:11:56 +02:00
047b2b2255
Add note to binary-tree exercise about duplicate values ( #2790 )
...
Just a small note to clarify a minor point of confusion with the
exercise.
2025-07-25 11:11:17 +02:00
f37402066d
Remove unnecessary type cast in C ffi example ( #2783 )
...
A `&T` can automatically coerce to a `*const T`, so the manual cast
isn't necessary here.
2025-07-25 11:10:31 +02:00
c4985cbf27
Fix major Korean translation issues on title ( #2825 )
...
This fixes the titles of Korean translation which has been mixed or has
major issues that may reader harden to understand
2025-07-25 10:52:53 +02:00
1a3c11b03e
Add speaker note that arrays go on the stack ( #2826 )
2025-07-23 10:37:19 -07:00
4dbbcce4b8
Fix typo in embedded-hal.md ( #2828 )
2025-07-22 16:39:59 +00:00
8994e390af
Fix missing link ( fixes #2822 ) ( #2823 )
...
This change fixes a broken link when markdown source is rendered as HTML
by mdbook.
2025-07-18 11:48:46 +02:00
c15f398c3d
Bump the npm_and_yarn group across 1 directory with 2 updates ( #2824 )
...
Bumps the npm_and_yarn group with 2 updates in the /tests directory:
[on-headers](https://github.com/jshttp/on-headers ) and
[morgan](https://github.com/expressjs/morgan ).
Updates `on-headers` from 1.0.2 to 1.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jshttp/on-headers/releases ">on-headers's
releases</a>.</em></p>
<blockquote>
<h2>1.1.0</h2>
<h2>Important</h2>
<ul>
<li>Fix <a
href="https://www.cve.org/CVERecord?id=CVE-2025-7339 ">CVE-2025-7339</a>
(<a
href="https://github.com/jshttp/on-headers/security/advisories/GHSA-76c9-3jph-rj3q ">GHSA-76c9-3jph-rj3q</a>)</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Migrate CI pipeline to GitHub actions by <a
href="https://github.com/carpasse "><code>@carpasse</code></a> in <a
href="https://redirect.github.com/jshttp/on-headers/pull/12 ">jshttp/on-headers#12</a></li>
<li>fix README.md badges by <a
href="https://github.com/carpasse "><code>@carpasse</code></a> in <a
href="https://redirect.github.com/jshttp/on-headers/pull/13 ">jshttp/on-headers#13</a></li>
<li>add OSSF scorecard action by <a
href="https://github.com/carpasse "><code>@carpasse</code></a> in <a
href="https://redirect.github.com/jshttp/on-headers/pull/14 ">jshttp/on-headers#14</a></li>
<li>fix: use <code>ubuntu-latest</code> as ci runner by <a
href="https://github.com/UlisesGascon "><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/jshttp/on-headers/pull/19 ">jshttp/on-headers#19</a></li>
<li>ci: apply OSSF Scorecard security best practices by <a
href="https://github.com/UlisesGascon "><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/jshttp/on-headers/pull/20 ">jshttp/on-headers#20</a></li>
<li>👷 add upstream change detection by <a
href="https://github.com/ctcpip "><code>@ctcpip</code></a> in <a
href="https://redirect.github.com/jshttp/on-headers/pull/31 ">jshttp/on-headers#31</a></li>
<li>✨ add script to update known hashes by <a
href="https://github.com/ctcpip "><code>@ctcpip</code></a> in <a
href="https://redirect.github.com/jshttp/on-headers/pull/32 ">jshttp/on-headers#32</a></li>
<li>💚 update CI - add newer node versions by <a
href="https://github.com/ctcpip "><code>@ctcpip</code></a> in <a
href="https://redirect.github.com/jshttp/on-headers/pull/33 ">jshttp/on-headers#33</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/carpasse "><code>@carpasse</code></a>
made their first contribution in <a
href="https://redirect.github.com/jshttp/on-headers/pull/12 ">jshttp/on-headers#12</a></li>
<li><a
href="https://github.com/UlisesGascon "><code>@UlisesGascon</code></a>
made their first contribution in <a
href="https://redirect.github.com/jshttp/on-headers/pull/19 ">jshttp/on-headers#19</a></li>
<li><a href="https://github.com/ctcpip "><code>@ctcpip</code></a> made
their first contribution in <a
href="https://redirect.github.com/jshttp/on-headers/pull/31 ">jshttp/on-headers#31</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jshttp/on-headers/compare/v1.0.2...v1.1.0 ">https://github.com/jshttp/on-headers/compare/v1.0.2...v1.1.0 </a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jshttp/on-headers/blob/master/HISTORY.md ">on-headers's
changelog</a>.</em></p>
<blockquote>
<h1>1.1.0 / 2025-07-17</h1>
<ul>
<li>Fix <a
href="https://www.cve.org/CVERecord?id=CVE-2025-7339 ">CVE-2025-7339</a>
(<a
href="https://github.com/jshttp/on-headers/security/advisories/GHSA-76c9-3jph-rj3q ">GHSA-76c9-3jph-rj3q</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4b017af88f
"><code>4b017af</code></a>
1.1.0</li>
<li><a
href="b636f2d08e
"><code>b636f2d</code></a>
♻️ refactor header array code</li>
<li><a
href="3e2c2d46c3
"><code>3e2c2d4</code></a>
✨ ignore falsy header keys, matching node behavior</li>
<li><a
href="172eb41b99
"><code>172eb41</code></a>
✨ support duplicate headers</li>
<li><a
href="c6e384908c
"><code>c6e3849</code></a>
🔒 ️ fix array handling</li>
<li><a
href="6893518341
"><code>6893518</code></a>
💚 update CI - add newer node versions</li>
<li><a
href="56a345d82b
"><code>56a345d</code></a>
✨ add script to update known hashes</li>
<li><a
href="175ab21715
"><code>175ab21</code></a>
👷 add upstream change detection (<a
href="https://redirect.github.com/jshttp/on-headers/issues/31 ">#31</a>)</li>
<li><a
href="ce0b2c8fcd
"><code>ce0b2c8</code></a>
ci: apply OSSF Scorecard security best practices (<a
href="https://redirect.github.com/jshttp/on-headers/issues/20 ">#20</a>)</li>
<li><a
href="1a38c543e7
"><code>1a38c54</code></a>
fix: use <code>ubuntu-latest</code> as ci runner (<a
href="https://redirect.github.com/jshttp/on-headers/issues/19 ">#19</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jshttp/on-headers/compare/v1.0.2...v1.1.0 ">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~ulisesgascon ">ulisesgascon</a>, a new
releaser for on-headers since your current version.</p>
</details>
<br />
Updates `morgan` from 1.10.0 to 1.10.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/morgan/releases ">morgan's
releases</a>.</em></p>
<blockquote>
<h2>1.10.1</h2>
<h2>What's Changed</h2>
<ul>
<li>renaming simple to sample in readme by <a
href="https://github.com/ryhinchey "><code>@ryhinchey</code></a> in <a
href="https://redirect.github.com/expressjs/morgan/pull/237 ">expressjs/morgan#237</a></li>
<li>adding installation instructions to readme by <a
href="https://github.com/ryhinchey "><code>@ryhinchey</code></a> in <a
href="https://redirect.github.com/expressjs/morgan/pull/233 ">expressjs/morgan#233</a></li>
<li>chore: add support for OSSF scorecard reporting by <a
href="https://github.com/inigomarquinez "><code>@inigomarquinez</code></a>
in <a
href="https://redirect.github.com/expressjs/morgan/pull/291 ">expressjs/morgan#291</a></li>
<li>ci: replace travis with github actions by <a
href="https://github.com/inigomarquinez "><code>@inigomarquinez</code></a>
in <a
href="https://redirect.github.com/expressjs/morgan/pull/290 ">expressjs/morgan#290</a></li>
<li>docs: add example output for log formats by <a
href="https://github.com/jonchurch "><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/morgan/pull/299 ">expressjs/morgan#299</a></li>
<li>ci: use ubuntu-latest by <a
href="https://github.com/bjohansebas "><code>@bjohansebas</code></a> in
<a
href="https://redirect.github.com/expressjs/morgan/pull/301 ">expressjs/morgan#301</a></li>
<li>ci: apply OSSF Scorecard security best practices by <a
href="https://github.com/UlisesGascon "><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/morgan/pull/300 ">expressjs/morgan#300</a></li>
<li>remove --bail by <a
href="https://github.com/jonchurch "><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/morgan/pull/314 ">expressjs/morgan#314</a></li>
<li>⬆️ bump on-headers by <a
href="https://github.com/ctcpip "><code>@ctcpip</code></a> in <a
href="https://redirect.github.com/expressjs/morgan/pull/319 ">expressjs/morgan#319</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/inigomarquinez "><code>@inigomarquinez</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/morgan/pull/291 ">expressjs/morgan#291</a></li>
<li><a href="https://github.com/jonchurch "><code>@jonchurch</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/morgan/pull/299 ">expressjs/morgan#299</a></li>
<li><a
href="https://github.com/bjohansebas "><code>@bjohansebas</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/morgan/pull/301 ">expressjs/morgan#301</a></li>
<li><a
href="https://github.com/UlisesGascon "><code>@UlisesGascon</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/morgan/pull/300 ">expressjs/morgan#300</a></li>
<li><a href="https://github.com/ctcpip "><code>@ctcpip</code></a> made
their first contribution in <a
href="https://redirect.github.com/expressjs/morgan/pull/319 ">expressjs/morgan#319</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/morgan/compare/1.10.0...1.10.1 ">https://github.com/expressjs/morgan/compare/1.10.0...1.10.1 </a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/morgan/blob/master/HISTORY.md ">morgan's
changelog</a>.</em></p>
<blockquote>
<h1>1.10.1 / 2025-07-17</h1>
<ul>
<li>deps: on-headers@~1.1.0
<ul>
<li>Fix <a
href="https://www.cve.org/CVERecord?id=CVE-2025-7339 ">CVE-2025-7339</a>
(<a
href="https://github.com/expressjs/on-headers/security/advisories/GHSA-76c9-3jph-rj3q ">GHSA-76c9-3jph-rj3q</a>)</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c1c7f107d2
"><code>c1c7f10</code></a>
🔖 1.10.1</li>
<li><a
href="eb896c2421
"><code>eb896c2</code></a>
⬆️ bump on-headers</li>
<li><a
href="1c3eec6ca5
"><code>1c3eec6</code></a>
remove --bail (<a
href="https://redirect.github.com/expressjs/morgan/issues/314 ">#314</a>)</li>
<li><a
href="b144728e07
"><code>b144728</code></a>
ci: apply OSSF Scorecard security best practices (<a
href="https://redirect.github.com/expressjs/morgan/issues/300 ">#300</a>)</li>
<li><a
href="68c2d2140d
"><code>68c2d21</code></a>
ci: use ubuntu-latest (<a
href="https://redirect.github.com/expressjs/morgan/issues/301 ">#301</a>)</li>
<li><a
href="8740a194bf
"><code>8740a19</code></a>
docs: add example output for log formats (<a
href="https://redirect.github.com/expressjs/morgan/issues/299 ">#299</a>)</li>
<li><a
href="efd6bff1ad
"><code>efd6bff</code></a>
ci: migra to GitHub actions (<a
href="https://redirect.github.com/expressjs/morgan/issues/290 ">#290</a>)</li>
<li><a
href="3b89789447
"><code>3b89789</code></a>
ci: add support for OSSF scorecard reporting (<a
href="https://redirect.github.com/expressjs/morgan/issues/291 ">#291</a>)</li>
<li><a
href="19a6aa5369
"><code>19a6aa5</code></a>
docs: add installation section</li>
<li><a
href="b94f3ffe5c
"><code>b94f3ff</code></a>
docs: change simple to sample in example descriptions</li>
<li>Additional commits viewable in <a
href="https://github.com/expressjs/morgan/compare/1.10.0...1.10.1 ">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~ulisesgascon ">ulisesgascon</a>, a new
releaser for morgan since your current version.</p>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/google/comprehensive-rust/network/alerts ).
</details>
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-18 11:48:24 +02:00
22d6af4abd
Add Unsafe Rust Deep Dive ( #2806 )
...
Adds the start of an unsafe deep dive to Comprehensive Rust.
The `unsafe` keyword is easy to type, but hard to master. When used
appropriately, it forms a useful and indeed essential part of the Rust
programming language.
By the end of this deep dive, you'll know how to work with `unsafe` code,
review others' changes that include the `unsafe` keyword, and produce
your own.
What you'll learn:
- What the terms undefined behavior, soundness, and safety mean
- Why the `unsafe` keyword exists in the Rust language
- How to write your own code using `unsafe` safely
- How to review `unsafe` code
Here is a tentative outline of a 10h (2 day) treatment:
Day 1: Using and Reviewing Unsafe
- Welcome
- Motivations: explain why the `unsafe` keyword exists
- Foundations: provide background knowledge; what is soundness? what is
undefined behavior? what is validity in respect to pointers?
- Mechanics: what a safe `unsafe` block should look like
- Representations and Interoperability: explore how data is laid out in
memory and how that can be sent across the wire and/or stored on disk.
- Reviewing unsafe
- Patterns for safer unsafe: Encapsulating unsafe code in safe-to-use
abstractions, such as marking a type's constructor as `unsafe` so that
invariants only need to be enforced once by the programmer.
Day 2: Deploying Unsafe to Build Abstractions
- Welcome
- Validity in detail: A refresher. Emphasis on the details of the
invariants that are being upheld by a “typical” unsafe block, such as
aliasing, alignment, data validity, padding.
- Concurrency and thread safety: understanding `Send` and `Sync`,
knowing how to implement them on a user-defined type
- Case study: Small string optimization
- Case study: Zero-copy parsing
- Review
---------
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com >
2025-07-17 14:03:31 +12:00
0a485b5a4c
Update destructuring-structs.md ( #2807 )
...
In the #2749 , the match arm order has changed. Therefore, the word
"second" should be changed to "first" in the notes.
2025-07-16 18:31:04 +02:00
059b44bf35
Update CODEOWNERS ( #2817 )
...
I missed the invitation that was discussed in #1999 . That's why I was
deleted from here later. I added myself again.
2025-07-13 19:30:25 +00:00
a55ce1d24f
Fix typo: "appenix" → "appendix" ( #2815 )
...
If I'm not mistaken...
2025-07-13 12:54:05 +00:00
0f41f32be1
Correct a minor mistake in the code in lifetime-elision.md ( #2814 )
2025-07-10 13:12:46 +00:00
7eecb9bb77
Link to rust-api-guidelines ( #2813 )
...
This has a lot of detailed and high-quality API advice.
I think it's particularly useful to developers experienced in other
languages, who may default to carrying over design idioms where Rust has
better options.
2025-07-09 21:09:08 +02:00
4483602cd2
Introduce 'Idiomatic Rust' learning module ( #2800 )
...
This PR introduces:
- A new section for the "Idiomatic Rust" learning module
- (The beginning of) the section on newtype patterns
---------
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com >
2025-07-09 21:03:41 +02:00
c2ffbd7f5b
Update cargo.md ( #2780 )
...
Now that there is a `rustup` package, we can take away the scary
language and ask people to install that. This has the advantage that
people get a trusted tool to download the latest Rust compiler.
2025-07-09 18:03:06 +02:00
d4729bfec0
Update exercise.md ( #2808 )
...
The point at which the generics segment will be covered has changed
multiple times. After the last change, the 'logger trait' section was
not updated to reflect when it will now be covered. To keep it more
general, I suggest not specifying when it will be covered.
2025-07-07 16:58:09 -04:00
e35f6d684d
Update vec.md ( #2810 )
...
With #1898 the slices were moved to day 1. So I deleted the day 3 slice
reference sentence in day 2 vec.md.
2025-07-06 23:01:54 +00:00
8419b3095e
A few fixes for the unsafe chapter ( #2805 )
...
See individual commits in https://github.com/google/comprehensive-rust/pull/2805 . Fixes #2734 .
2025-07-05 17:46:42 +00:00
7c23d3bcf8
Provide shorter Cargo aliases for xtool subcommands ( #2804 )
...
This change deprecates the use of `cargo xtask <tool>` in favor of
dedicated aliases for each tool.
| Proposed | Current |
|----------|---------|
| `cargo install-tools` | `cargo xtask install-tools` |
| `cargo web-tests` | `cargo xtask web-tests` |
| `cargo rust-tests` | `cargo xtask rust-tests` |
| `cargo serve` | `cargo xtask serve` |
| `cargo build-book` | `cargo xtask build` |
_Note_: Because `build` is a pre-existing Cargo sub-command, I've
proposed `cargo build-book` as a strawman.
Fixes #2803
2025-07-05 17:44:47 +00:00
010b443615
cargo: bump the patch group in /src/bare-metal/aps/examples with 3 updates ( #2799 )
...
Bumps the patch group in /src/bare-metal/aps/examples with 3 updates:
[aarch64-rt](https://github.com/google/aarch64-rt ),
[smccc](https://github.com/google/smccc ) and
[zerocopy](https://github.com/google/zerocopy ).
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 11:15:41 +01:00
30e3151f56
Bump crate-ci/typos from 1.33.1 to 1.34.0 ( #2798 )
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.33.1 to
1.34.0.
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 11:14:56 +01:00
9599e3f7fb
Bump dprint/check from 2.2 to 2.3 ( #2797 )
...
Bumps [dprint/check](https://github.com/dprint/check ) from 2.2 to 2.3.
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 11:13:38 +01:00
fb95fb377d
cargo: bump the patch group in /src/exercises/bare-metal/rtc with 3 updates ( #2796 )
...
Bumps the patch group in /src/exercises/bare-metal/rtc with 3 updates:
[aarch64-rt](https://github.com/google/aarch64-rt ),
[smccc](https://github.com/google/smccc ) and
[zerocopy](https://github.com/google/zerocopy ).
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 11:02:18 +01:00
6194ac4abb
cargo: bump the patch group with 4 updates ( #2795 )
...
Bumps the patch group with 4 updates:
[clap](https://github.com/clap-rs/clap ),
[googletest](https://github.com/google/googletest-rust ),
[zerocopy](https://github.com/google/zerocopy ) and
[reqwest](https://github.com/seanmonstar/reqwest ).
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 11:01:37 +01:00
5e4feff6d7
Add section about UART driver without safe-mmio back in ( #2792 )
...
Having taught the course again since the change to use safe-mmio, it
seems worth keeping this as an intermediate step rather than jumping
straight from pointer arithmetic to safe-mmio's abstractions.
2025-06-30 13:48:32 +01:00
447b31cd45
Remove type annotations from borrowck example ( #2791 )
...
These slides are on day 3, I don't think we need the explicit type
annotations at this point.
2025-06-26 15:17:57 -04:00
2e50843812
Move closures section to before libstd sections ( #2789 )
...
A lot of stuff in the standard library makes use of closures, so I think
it makes sense to cover those first so that we can more easily reference
libstd functions like `map` and `filter`.
2025-06-26 15:17:32 -04:00
c253b33977
Add note about trait bound in closures exercise ( #2788 )
...
I've tried removing this trait bound thinking it's unnecessary only to
then be surprised that it breaks type inference. I think that's worth
calling out to students, so I think a speaker note here would be
appropriate.
2025-06-26 15:09:38 -04:00
39d0588c89
Add direct call to talk
in trait implementation slide ( #2787 )
...
I think it'd be helpful to also show a direct call to `talk`, so that
it's clear that both trait methods can be called directly.
2025-06-26 15:07:50 -04:00
da28a502bf
Make pattern matching exercise code editable ( #2786 )
...
I swear I already did this one...
@djmitche it looks like you had removed this `editable` after I last
added it, was there some reason for that?
2025-06-26 15:07:18 -04:00
088744a4c2
Split off function call to make pattern match clearer ( #2785 )
...
I think doing the call to `Duration::try_from_secs_f32` in the pattern
match is a bit verbose since the function name is so long. I usually
split this off into a separate variable so that it's easier to see the
pattern match syntax.
2025-06-26 15:01:46 -04:00
40652b6415
Add note about struct-style enum variants in pattern matching ( #2784 )
...
Can't forget to demonstrate struct-style enum variants when talking
about pattern matching.
2025-06-26 15:01:04 -04:00
f51f0dbb13
Fix typo in arrays.md ( #2781 )
...
According to the error I got from trying out-of-bound index, array
accesses seem to be checked at compile time.
```
Compiling playground v0.0.1 (/playground)
error: this operation will panic at runtime
--> src/main.rs:3:5
|
3 | a[7] = 0;
| ^^^^ index out of bounds: the length is 5 but the index is 7
|
= note: `#[deny(unconditional_panic)]` on by default
error: could not compile `playground` (bin "playground") due to 1 previous error
```
2025-06-25 21:08:29 +00:00
bb8b35ab74
Add a speaker note about trying to use a variable as a pattern ( #2779 )
2025-06-18 17:05:32 -07:00
bb1e1c9414
Updates to bare metal day after teaching it again ( #2775 )
...
This fixes some issues running some of the examples, and various other
minor issues I found along the way.
2025-06-12 11:27:22 +01:00
ab26027a79
Fix errors in CODEOWNERS as suggested by GH ( #2771 )
2025-06-03 15:58:44 +00:00
6ba7f2c654
Reduce wdio verbosity ( #2768 )
...
This avoids the need to scroll through pages of useless warnings to find
an actual test failure.
2025-06-03 11:47:38 -04:00
74605c345c
cargo: bump reqwest from 0.12.18 to 0.12.19 in the patch group ( #2770 )
...
Bumps the patch group with 1 update:
[reqwest](https://github.com/seanmonstar/reqwest ).
Updates `reqwest` from 0.12.18 to 0.12.19
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 14:46:13 +01:00
3eb9f98f4a
Bump crate-ci/typos from 1.32.0 to 1.33.1 ( #2769 )
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.32.0 to
1.33.1.
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 14:45:41 +01:00
0c20fb11f1
Convert dependabot reviewers to CODEOWNERS ( #2762 )
...
See
https://github.blog/changelog/2025-04-29-dependabot-reviewers-configuration-option-being-replaced-by-code-owners/ .
2025-06-03 14:16:53 +01:00
f9e58d9596
Add a schematic state machine implementing Future ( #2048 )
...
@fw-immunant generated something like this on-the-fly in teaching the
course, and I thought it was great. I think having a _schematic_
understanding of what's going on here helps students through some of the
pitfalls. Particularly, it motivates `Pin`, which is where @fw-immunant
did this derivation.
2025-06-03 12:45:22 +00:00
2f37846e44
Bump tar-fs from 3.0.8 to 3.0.9 in /tests in the npm_and_yarn group across 1 directory ( #2766 )
...
Bumps the npm_and_yarn group with 1 update in the /tests directory:
[tar-fs](https://github.com/mafintosh/tar-fs ).
2025-06-03 08:09:22 -04:00
c1773a7fdb
Update some speaker notes for bare metal Rust section ( #2764 )
2025-06-02 19:16:09 +01:00
64ef712d7d
Use safe-mmio crate in PL011 UART driver example and RTC exercise solution ( #2752 )
2025-06-02 15:28:06 +01:00
f3e369274a
Bump crate-ci/typos from 1.31.2 to 1.32.0 ( #2761 )
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.31.2 to
1.32.0.
2025-06-01 20:12:49 -04:00