1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-06-15 05:40:30 +02:00
Commit Graph

2142 Commits

Author SHA1 Message Date
e4e6b0ce1d Add speaker notes to AIDL slide (#2494)
Part of #1083.
2024-12-05 15:59:21 -08:00
54e0eab236 Add speaker notes to JNI slide (#2495)
Part of #1083.
2024-12-05 12:30:03 -05:00
69d4fc13a4 Delete empty and unused slide (#2493)
The page is not mentioned in the `SUMMARY.md` file and has apparently
been forgotten.

We could consider adding a check for this situation, but since I don't
think it occurs very often, I don't consider it high priority.
2024-12-05 10:25:21 -05:00
d97a8fade5 Add speaker notes to the thanks page (#2497)
Part of #1083.
2024-12-05 15:24:18 +00:00
99c0948f4e Add more description of proto to the proto exercise (#2475)
This also moves the test cases into `main` so they are visible.

Fixes #2466.
2024-12-05 16:17:14 +01:00
c61204ae18 Add speaker notes to tuples and arrays (#2499)
Part of #1083.
2024-12-05 16:15:03 +01:00
48b2b5c312 Add a test framework to test the JS part of the course (#2471)
This is a first draft for a test framework for testing the JS part of
the book that is discussed in #2462

It is using [webdriverIO](https://webdriver.io/) and the webdriverIO
[Expect API](https://webdriver.io/docs/api/expect-webdriverio/) in
combination with [Mocha](https://mochajs.org/). WebdriverIO is taking
care of accessing the webpage with a real browser and can access the
state of the page so behavior can be asserted.

Currently only a small test for the speaker-notes implementation demos
the functionality.

The [Static Server
Service](https://webdriver.io/docs/static-server-service/) is used to
serve the book in a way that the test runner can access it.

A CI integration can look like https://webdriver.io/docs/githubactions/
and is implemented with a headless setup. In CI it uses the language
variable to set environment variable that configures where the built
book should be mounted from

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2024-12-04 09:06:58 +00:00
d868584623 Show path to auto-generate AIDL code on slide (#2417)
This updates the surrounding text to bring it in line with the other
slides.
2024-12-03 17:01:55 +01:00
45bb2de220 Recommend newtypes over type aliases (#2476)
I don't know how controversial this is, but I would recommend against
using type aliases where a newtype can be used instead.

Personally, I don't like type aliases much since I feel they cause extra
indirection: I will inevitably have to go look up the alias the first
many times I encounter it. Nothing will tell me to apply the type alias
consistently, and I dislike having multiple names for the same thing.

But I'm sure some people love them, so now I'm just gently reminding
people that newtypes can be a better alternative.
2024-12-03 16:57:41 +01:00
c85816a01f cargo: bump the patch group across 1 directory with 12 updates (#2489)
Bumps the patch group with 12 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.91` | `1.0.93` |
| [clap](https://github.com/clap-rs/clap) | `4.5.20` | `4.5.21` |
| [mdbook](https://github.com/rust-lang/mdBook) | `0.4.40` | `0.4.43` |
| [serde](https://github.com/serde-rs/serde) | `1.0.214` | `1.0.215` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.132` | `1.0.133`
|
| [csv](https://github.com/BurntSushi/rust-csv) | `1.3.0` | `1.3.1` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.41.0` | `1.41.1` |
| [url](https://github.com/servo/rust-url) | `2.5.2` | `2.5.4` |
| [mockall](https://github.com/asomers/mockall) | `0.13.0` | `0.13.1` |
| [zerocopy](https://github.com/google/zerocopy) | `0.8.8` | `0.8.11` |
| [cxx](https://github.com/dtolnay/cxx) | `1.0.129` | `1.0.133` |
| [cxx-build](https://github.com/dtolnay/cxx) | `1.0.129` | `1.0.133` |

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 21:05:18 +00:00
5586f6c9af cargo: bump thiserror from 1.0.66 to 2.0.3 (#2488)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.66 to
2.0.3.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:51:03 +00:00
3eb2eb8b36 cargo: bump the minor group with 2 updates (#2486)
Bumps the minor group with 2 updates:
[googletest](https://github.com/google/googletest-rust) and
[tempfile](https://github.com/Stebalien/tempfile).

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:41:54 +00:00
bf8e642bcf build(deps): bump crate-ci/typos from 1.26.8 to 1.28.1 (#2485)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.26.8 to
1.28.1.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:41:39 +00:00
6c09359640 cargo: bump arm-gic from 0.1.1 to 0.1.2 in /src/exercises/bare-metal/rtc in the patch group (#2484)
Bumps the patch group in /src/exercises/bare-metal/rtc with 1 update:
[arm-gic](https://github.com/google/arm-gic).

Updates `arm-gic` from 0.1.1 to 0.1.2

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:41:24 +00:00
6ef4d79984 cargo: bump cc from 1.1.31 to 1.2.2 in /src/exercises/bare-metal/rtc in the minor group (#2483)
Bumps the minor group in /src/exercises/bare-metal/rtc with 1 update:
[cc](https://github.com/rust-lang/cc-rs).

Updates `cc` from 1.1.31 to 1.2.2

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:40:50 +00:00
095fc487f2 cargo: bump cortex-m-rt from 0.7.4 to 0.7.5 in /src/exercises/bare-metal/compass in the patch group (#2482)
Bumps the patch group in /src/exercises/bare-metal/compass with 1
update: [cortex-m-rt](https://github.com/rust-embedded/cortex-m).

Updates `cortex-m-rt` from 0.7.4 to 0.7.5

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:38:50 +00:00
9e87094544 cargo: bump cortex-m-rt from 0.7.3 to 0.7.5 in /src/bare-metal/microcontrollers/examples in the patch group (#2481)
Bumps the patch group in /src/bare-metal/microcontrollers/examples with
1 update: [cortex-m-rt](https://github.com/rust-embedded/cortex-m).

Updates `cortex-m-rt` from 0.7.3 to 0.7.5

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:38:27 +00:00
7d51d58a10 cargo: bump cc from 1.1.31 to 1.2.2 in /src/bare-metal/aps/examples in the minor group (#2480)
Bumps the minor group in /src/bare-metal/aps/examples with 1 update:
[cc](https://github.com/rust-lang/cc-rs).

Updates `cc` from 1.1.31 to 1.2.2

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 20:37:50 +00:00
7d2bde6163 Revert "Execution: Add stderr block" (#2479)
Reverts google/comprehensive-rust#2397

I'm seeing

```
POST https://play.rust-lang.org/execute 500 (Internal Server Error)
```

on every request when trying to run code in the Playground. I'm not sure
why, but we need to revert this ASAP if others see the same.
2024-11-28 16:40:12 +01:00
beacea74ea Execution: Add stderr block (#2397)
Add a stderr block.
Pros:
  - we can make use of dbg macro in our code Cons:
  - there's a limitation that the compile message also shows

Applies patches from rust-lang/mdBook#1315 since the original change was
not merged by rust-lang.

Issue: #531

Signed-off-by: Alx-Lai <alexabc722@gmail.com>
2024-11-28 15:01:08 +01:00
bd9d1a30b2 ja: refresh po file (#2470)
Let me refresh the po file, since I plan to work on some of the fuzzy
translation stuff this week.

This is basically output of only doing: `msgmerge --update po/ja.po
book/xgettext/messages.pot` and removing a few fuzzy tags for obviously
correct translations.

Co-authored-by: Hidenori Kobayashi <hidenorik@google.com>
2024-11-25 12:42:17 +09:00
1262da8d77 Wrap assembly comments consistently (#2430)
Some lines were much longer than others. They are now consistently
wrapped at 70 columns. Why so short, why not 80 or 90? Because we
sometimes need to browse these files during class, and there we don’t
have a lot of horizontal space when using large fonts.
2024-11-22 10:24:49 +01:00
2256525a90 Be explicit that Android examples need a Git checkout (#2465)
Without this, students will see subtle differences between what is on
the slides and what we have in the code (see #2464 for an example).
2024-11-19 13:25:44 -05:00
088169b989 Make page title more specific (#2405)
Naming the slide “Bare-Metal Android” avoids an annoying situation
when searching: before, searching for “android” would list this slide
as a top hit because it matches the search term precisely. This meant
that the whole Rust in Android section course was harder to find.

With this change, the “Welcome to Rust in Android” page becomes easier
to find.
2024-11-19 16:13:37 +00:00
6148caed7a Change tests for pattern-matching exercise (#2463)
to catch wrong `right == 0` checks.

To change the number like this catches for example a wrong
implementation only looking if `right_result` is zero, but not checking
if we are doing a division.
2024-11-18 16:11:58 +00:00
7f59978a0a Update Rust before setting up the cache (#2460)
The cache is keyed on the Rust version used, so we should update Rust
before setting up the cache.

This is a small update to #2449.
2024-11-12 10:26:42 +01:00
b4f07baf81 Update unsafe trait example to zerocopy version 0.8 (#2434)
Zerocopy crate version 0.8 introduced changes to its API, which caused
the example code to break.
https://github.com/google/zerocopy/discussions/1680
> AsBytes ->
[IntoBytes](https://docs.rs/zerocopy/0.8.*/zerocopy/trait.IntoBytes.html)

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2024-11-04 11:01:45 +00:00
b6b4381722 cargo: bump the minor group across 1 directory with 3 updates (#2459)
Bumps the minor group with 3 updates in the / directory:
[tokio](https://github.com/tokio-rs/tokio),
[zerocopy](https://github.com/google/zerocopy) and
[scraper](https://github.com/causal-agent/scraper).

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Walbran <qwandor@google.com>
2024-11-04 10:28:53 +00:00
f7d2ab541a cargo: bump cc from 1.1.23 to 1.1.31 in /src/bare-metal/aps/examples in the patch group (#2455)
Bumps the patch group in /src/bare-metal/aps/examples with 1 update:
[cc](https://github.com/rust-lang/cc-rs).

Updates `cc` from 1.1.23 to 1.1.31
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/releases">cc's
releases</a>.</em></p>
<blockquote>
<h2>cc-v1.1.31</h2>
<h3>Other</h3>
<ul>
<li>Add comment explaining why cc does not rebuild on env PATH change
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1247">#1247</a>)</li>
</ul>
<h2>cc-v1.1.30</h2>
<h3>Other</h3>
<ul>
<li>Don't pass -fPIC by default on wasm (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1245">#1245</a>)</li>
</ul>
<h2>cc-v1.1.29</h2>
<h3>Other</h3>
<ul>
<li>Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1243">#1243</a>)</li>
</ul>
<h2>cc-v1.1.28</h2>
<h3>Other</h3>
<ul>
<li>Environment variables: For one accepting boolean, treat
&quot;0&quot;, &quot;false&quot; and empty env as false (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1238">#1238</a>)</li>
</ul>
<h2>cc-v1.1.27</h2>
<h3>Other</h3>
<ul>
<li>Revert &quot;Use debug version of MSVC runtime library on debug (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1231">#1231</a>)&quot;
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1237">#1237</a>)</li>
<li>Disable <code>CC_ENABLE_DEBUG_OUTPUT</code> if it is set to
&quot;0&quot; (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1234">#1234</a>)</li>
</ul>
<h2>cc-v1.1.26</h2>
<h3>Other</h3>
<ul>
<li>Use debug version of MSVC runtime library on debug (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1231">#1231</a>)</li>
</ul>
<h2>cc-v1.1.25</h2>
<h3>Other</h3>
<ul>
<li>Remove incorrect &quot;lib&quot; prefixes in CXXSTDLIB doc comments
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1228">#1228</a>)</li>
</ul>
<h2>cc-v1.1.24</h2>
<h3>Other</h3>
<ul>
<li>Fix wasm32-wasip1-threads: shared-memory disallowed due to not
compiled with 'atomics' or 'bulk-memory' features (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1221">#1221</a>)</li>
<li>Reduce the need for the host target triple (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1224">#1224</a>)</li>
<li>Add auto cancellation for CI jobs (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1222">#1222</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md">cc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.30...cc-v1.1.31">1.1.31</a>
- 2024-10-19</h2>
<h3>Other</h3>
<ul>
<li>Add comment explaining why cc does not rebuild on env PATH change
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1247">#1247</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.29...cc-v1.1.30">1.1.30</a>
- 2024-10-11</h2>
<h3>Other</h3>
<ul>
<li>Don't pass -fPIC by default on wasm (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1245">#1245</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.28...cc-v1.1.29">1.1.29</a>
- 2024-10-11</h2>
<h3>Other</h3>
<ul>
<li>Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1243">#1243</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.27...cc-v1.1.28">1.1.28</a>
- 2024-10-06</h2>
<h3>Other</h3>
<ul>
<li>Environment variables: For one accepting boolean, treat
&quot;0&quot;, &quot;false&quot; and empty env as false (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1238">#1238</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.26...cc-v1.1.27">1.1.27</a>
- 2024-10-06</h2>
<h3>Other</h3>
<ul>
<li>Revert &quot;Use debug version of MSVC runtime library on debug (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1231">#1231</a>)&quot;
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1237">#1237</a>)</li>
<li>Disable <code>CC_ENABLE_DEBUG_OUTPUT</code> if it is set to
&quot;0&quot; (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1234">#1234</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.25...cc-v1.1.26">1.1.26</a>
- 2024-10-06</h2>
<h3>Other</h3>
<ul>
<li>Use debug version of MSVC runtime library on debug (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1231">#1231</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.24...cc-v1.1.25">1.1.25</a>
- 2024-10-05</h2>
<h3>Other</h3>
<ul>
<li>Remove incorrect &quot;lib&quot; prefixes in CXXSTDLIB doc comments
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1228">#1228</a>)</li>
</ul>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.23...cc-v1.1.24">1.1.24</a>
- 2024-10-01</h2>
<h3>Other</h3>
<ul>
<li>Fix wasm32-wasip1-threads: shared-memory disallowed due to not
compiled with 'atomics' or 'bulk-memory' features (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1221">#1221</a>)</li>
<li>Reduce the need for the host target triple (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1224">#1224</a>)</li>
<li>Add auto cancellation for CI jobs (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1222">#1222</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c07ab0ea4e"><code>c07ab0e</code></a>
chore: release v1.1.31 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1248">#1248</a>)</li>
<li><a
href="e53eba374f"><code>e53eba3</code></a>
Add comment explaining why cc does not rebuild on env PATH change (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1247">#1247</a>)</li>
<li><a
href="9aab24207c"><code>9aab242</code></a>
chore: release (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1246">#1246</a>)</li>
<li><a
href="d0048ab136"><code>d0048ab</code></a>
Don't pass -fPIC by default on wasm (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1245">#1245</a>)</li>
<li><a
href="53a0b97ef8"><code>53a0b97</code></a>
chore: release (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1244">#1244</a>)</li>
<li><a
href="7ad4677a4e"><code>7ad4677</code></a>
Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1243">#1243</a>)</li>
<li><a
href="218365e583"><code>218365e</code></a>
chore: release (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1239">#1239</a>)</li>
<li><a
href="1a6a7103d9"><code>1a6a710</code></a>
Environment variables: For one accepting boolean, treat &quot;0&quot;,
&quot;false&quot; and empt...</li>
<li><a
href="3bbb3849ae"><code>3bbb384</code></a>
chore: release (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1235">#1235</a>)</li>
<li><a
href="2b94f52d47"><code>2b94f52</code></a>
Revert &quot;Use debug version of MSVC runtime library on debug (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1231">#1231</a>)&quot;
(<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1237">#1237</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.1.23...cc-v1.1.31">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cc&package-manager=cargo&previous-version=1.1.23&new-version=1.1.31)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 10:03:21 +00:00
5a57631911 build(deps): bump crate-ci/typos from 1.24.6 to 1.26.8 (#2451)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.24.6 to
1.26.8.
2024-11-01 13:54:06 +00:00
f8882190f3 Updates for Rust 1.82 (#2449)
Rust 1.82 adds `&raw` expressions, and marks some attributes as unsafe.
2024-11-01 08:39:56 +01:00
2bba470415 cargo: bump panic-halt from 0.2.0 to 1.0.0 in /src/bare-metal/alloc-example (#2458)
Bumps [panic-halt](https://github.com/korken89/panic-halt) from 0.2.0 to
1.0.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 08:34:33 +01:00
e47a557e89 cargo: bump panic-halt from 0.2.0 to 1.0.0 in /src/bare-metal/microcontrollers/examples (#2457)
Bumps [panic-halt](https://github.com/korken89/panic-halt) from 0.2.0 to
1.0.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 08:33:50 +01:00
9da4562400 cargo: bump cc from 1.1.23 to 1.1.31 in /src/exercises/bare-metal/rtc in the patch group (#2453)
Bumps the patch group in /src/exercises/bare-metal/rtc with 1 update:
[cc](https://github.com/rust-lang/cc-rs).

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 08:33:28 +01:00
afec47fccc cargo: bump panic-halt from 0.2.0 to 1.0.0 in /src/exercises/bare-metal/compass (#2452)
Bumps [panic-halt](https://github.com/korken89/panic-halt) from 0.2.0 to
1.0.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 08:32:50 +01:00
9dcfc7e4d8 cargo: bump the patch group with 11 updates (#2456)
Bumps the patch group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.89` | `1.0.91` |
| [clap](https://github.com/clap-rs/clap) | `4.5.18` | `4.5.20` |
| [regex](https://github.com/rust-lang/regex) | `1.11.0` | `1.11.1` |
| [serde](https://github.com/serde-rs/serde) | `1.0.210` | `1.0.214` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.128` | `1.0.132`
|
| [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) |
`0.12.1` | `0.12.2` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.64` |
`1.0.66` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.8` |
`0.12.9` |
| [futures-util](https://github.com/rust-lang/futures-rs) | `0.3.30` |
`0.3.31` |
| [cxx](https://github.com/dtolnay/cxx) | `1.0.128` | `1.0.129` |
| [cxx-build](https://github.com/dtolnay/cxx) | `1.0.128` | `1.0.129` |

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 08:29:38 +01:00
1d7c9163f5 Simplify imports by importing fewer items directly (#2404)
When reading the code without an IDE, I find it useful to use explicit
module names, especially when items come from the standard library.

So `io::Error` instead of just `Error`, especially when people have
just been told about `std::error::Error` as well.

I also omitted most single-use items: I find it has less cognitive
overhead to say “we import `fmt`” and then later use `fmt::Display`
and `fmt::Formatter` in the code. It’s clear from the name that these
two things have something to do with formatting.

Finally, I made a few usages more consistent so that we refer to each
item in the same way within a single codeblock.
2024-10-29 11:19:58 +01:00
7a462efb57 Ensure examples compile on latest version of AOSP (#2414)
This is part of #2398.
2024-10-28 19:35:54 +01:00
c16c07a53a The Error trait is in core as of Rust 1.81.0 (#2408) 2024-10-28 19:24:36 +01:00
905784e601 Remove open-ended Android exercise (#2418)
Despite good intentions, I have not actually been able to make this
work in a classroom.

I suggest we remove it for now and later replace it with a guided
exercise: something where we ask students to write a AIDL client for a
simple system service.
2024-10-28 19:24:30 +01:00
6e829ff89a Show expressions trees (#2425)
While giving the class, I noticed that a few people were not used to
this kind of recursive structures. A diagram could help here.
2024-10-28 19:24:22 +01:00
8873e3ea53 vi: translate Default trait (#2447)
Translate the `Default` chapter of the `std-trait` section to Vietnamese
2024-10-27 13:47:59 -04:00
8bfff0d95a Consistently inline formatting arguments (#2413) 2024-10-21 20:01:21 +02:00
ce56ea551e Use both break and continue for consistency (#2412)
To me, this little change makes it a little clearer that we either
print something, we break, or we continue in the loop.
2024-10-21 19:57:19 +02:00
ec6cb024e8 Apply clippy::semicolon_if_nothing_returned (#2410)
This is for consistency: if a block returns `()`, and the last
expression of the block also returns `()`, then the final `;` can be
left out.

However, this is a little confusing (I was asked about this in a class
today) and it is inconsistent.

See

https://rust-lang.github.io/rust-clippy/master/index.html#/semicolon_if_nothing_returned
for details.
2024-10-21 19:57:01 +02:00
3d1339c546 fa: fix translations.md restore sentence paragraph. (#2446)
fix: translations.md restore sentence paragraph.

---------

Co-authored-by: javad-jafari <javajafarifromsharak@gmail.com>
Co-authored-by: javad-jafari <65780584+javad-jafari@users.noreply.github.com>
2024-10-19 22:03:57 +03:30
e5d73d915b Format filenames consistently (#2415)
The style used in the rest of the course is _italic_ filenames, so we
should be careful to not suddenly use **bold** names.

The style is of course up for debate, but we need to ensure
consistency first.
2024-10-18 12:29:31 +02:00
ab78a9e6b8 Links in channel pages (#2441) 2024-10-18 09:05:01 +02:00
ad7ef2e50a Make scoped thread examples consistent (#2444)
This is a followup to #1020.
2024-10-18 09:04:44 +02:00
1a9941b39f Put “Bye!” message on its own line (#2431)
Before the message would be printed right next to the text echoed
back. We now make sure to print it after a blank line.
2024-10-18 09:04:19 +02:00