1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-06-17 06:37:34 +02:00
Commit Graph

1376 Commits

Author SHA1 Message Date
42d69b7e5d Update link for sudo bug (#1462)
Thanks to @LuisMorenoSerrano. Fixes #1459.
2023-11-09 10:33:53 -08:00
67d53d29a6 Update Android.bp files (#895)
Remove the `prefer_rlib` flags from all `Android.bp` files.

Solves issue #371
2023-11-08 16:56:29 -08:00
039bc4f35c Update other-resources.md (#1452)
Added Rust Primer and CodeCrafters.
2023-11-08 15:56:12 -08:00
ca61ca4f57 Add CXX tutorial (#1392)
Add a number of slides that cover most of CXX's functionality and
demonstrate how it can be used.

Fixes #823.

---------

Co-authored-by: Martin Geisler <mgeisler@google.com>
2023-11-06 16:34:29 -08:00
3c159d8af0 Add instructions for how to use build_all.sh (#1434) 2023-10-31 09:00:02 +01:00
17f61463f5 Update converting-error-types.md (#1428) 2023-10-25 11:02:34 -04:00
e6e4d50eef Be more precise about printing in compound-types.md (#1421)
Fixes #1412.
2023-10-24 11:32:34 +02:00
77c55ef10e Update hashmap.md (#1420)
Remove extra space
2023-10-24 08:01:21 +02:00
3ba21370bb Simpler character counting (#1419)
`str.chars().map(|_| 1).sum()` is just `str.chars().count()`.
2023-10-23 20:36:26 +00:00
ecd2bc863e Updated about nc and telnet in task.md (#1382)
Updated about `nc` and `telnet` with their documentation link provided
as well
Closes issue #1349
2023-10-23 18:10:26 +00:00
88edcd02e7 Adds Chinese Traditional to the language drop-down (#1411)
Graduates the Chinese Traditional translation to the language drop-down
selector.
Part of Chinese (Traditional) translation #684.

File stats (Rust Fundamentals):

```
msggrep -v --location=src/{exercises/,}{android,bare-metal,concurrency,async}{.md,"/*","/*/*","/*/*/*"} po/zh-CN.po | msgfmt -o /dev/null --statistics -

1315 translated messages, 146 fuzzy translations, 149 untranslated messages.
```
2023-10-23 09:20:15 -07:00
cf798ae50e Fix malformed SUMMARY.md entries (#1410)
These extra `)` were ignored by the `mdbook` parser, but they began
showing up in my testing of
https://github.com/google/mdbook-i18n-helpers/pull/100.
2023-10-23 09:26:15 -04:00
b155ffd40c Adds nodmp as a zh-CN translator (#1409) 2023-10-22 15:04:01 -07:00
0c128d9357 Update std.md (#1405)
Fix typo
2023-10-22 16:29:35 +02:00
1dfb82c085 Update structs.md (#1403)
Fix markdown
2023-10-22 16:24:04 +02:00
c3abb35837 Update tuple-structs.md (#1404)
Fix markdown
2023-10-22 16:13:39 +02:00
0022898ada Update pattern-matching.md (#1374)
Typo
2023-10-18 08:40:13 +02:00
b8b274165c Update luhn.rs (#1376)
Fix semicolon

I'm only learning Rust but I think it makes more sense
2023-10-18 03:53:14 +00:00
c01b5ca6ed Simplify solution to Luhn exercise (#1296)
Maybe we can use bool double and make the code easier to read and
comprehend
2023-10-17 13:35:34 +00:00
f94daaea73 Add “More to Explore” sections (#1369)
From a discussion in #1313.
2023-10-16 15:42:07 +02:00
c2e9a45d49 Adds Chinese Simplified to the language drop-down (#1357)
Graduates the Chinese Simplified translation to the language drop-down
selector. Part of #324
2023-10-13 09:15:00 +02:00
a0bb5f30d0 Add trait bound to example for MutexGuard that is !Send + Sync (#1358)
This example only makes sense (and is therefore easier to understand
logically :) ) if T is Sync. See
https://github.com/rust-lang/rust/issues/41622 - this used to be a bug
initially.
2023-10-12 22:29:37 +02:00
358d7da22c Update catch_unwind example (#1356)
Fixes #1352.

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-10-12 15:27:45 +00:00
de0e8e6b6d fix: typo in mark_visited fn docstring (#1355)
Fixes a typo in the `mark_visited` function docstring.

See [`HashSet.insert`
documentation](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.insert)
2023-10-12 09:42:56 +00:00
a46c6c19df Adds SketchK credit as a zh-CN translator (#1338) 2023-10-11 11:16:24 -05:00
b398b46a10 Update dining-philosophers-async.rs (#1346)
Also replace Thales with Hypatia in the async version of Dining
Philosophers.
2023-10-11 13:35:08 +02:00
18f0ebf9dc Update dining-philosophers.rs (#1345)
Replace Thales with Hypatia for slightly more inclusivity.
2023-10-11 13:34:12 +02:00
4eebe43f3b Fix typo: missing n in unknown (#1344) 2023-10-11 11:30:19 +01:00
b037548923 Add mdbook-xgettext skip for untranslatable codeblocks in Bare Metal (#1339)
See #1327

Removes 280 lines from `messages.pot`.

Signed-off-by: 0scvr <71343264+0scvr@users.noreply.github.com>
2023-10-11 09:32:12 +00:00
2f50e8be84 Update debugging.md gdb command (#1332)
The provided example did not work for me. I got:

`zsh: command not found: gdb-multiarch`

The other version worked instead. This might be a MacOS thing, or an
Apple Silicon thing. The other command is the same as used in
https://docs.rust-embedded.org/book/intro/install/macos.html so maybe
the MacOS installation guidance also needs updating?
2023-10-10 10:32:31 +01:00
ee48c4684a Fix typo: include semi colon in code (#1335) 2023-10-10 08:15:21 +00:00
7bffb7f2c4 Update mutable-static-variables.md (#1331)
From a discussion in #1297.
2023-10-09 15:15:26 +02:00
65f6dbcd85 Fix and expand Bare-metal Rust entry in glossary (#1325)
The entry lacked the forced line-break of the other entries.
2023-10-09 11:29:14 +02:00
a7f7afa4a2 Format the glossary using a Markdown list (#1307)
This format has two advantages:

- is easier to maintain in the Markdown file. Tables cannot be wrapped
in Markdown, which would severely limit what we can write for each term.
- it can be styled better. The layout now looks more like what you find
in a dictionary.

Before:


![image](https://github.com/google/comprehensive-rust/assets/89623/26bdc39e-4c1d-4f33-90d5-a1637712bcb8)

After:


![image](https://github.com/google/comprehensive-rust/assets/89623/38c1b329-4a80-4771-b415-425a537a0388)


Followup to #1277.
2023-10-06 14:26:52 +02:00
8ff97f1ee7 Remove HTML tag <abbr> (#1310)
The html tag seems to confuse the mdbook-i18n-helpers and make the
translation work hard (#1284).

This simply replaces them with a set of parenthesis.
2023-10-06 10:38:48 +01:00
c93a4bc20c Remove unused import (use) (#1303)
This should be a clean pull request with just the required diff
2023-10-05 11:17:48 +02:00
2072ed022b Fix typo (missing s on threads) (#1304)
Again, a clean pull request for this typo.
2023-10-05 09:17:17 +00:00
5760e99e22 Introduce a glossary (#1277)
The goal of this is twofold: give translators a place to document how
certain terms are translated as well as giving people a place to quickly
find a definition of a term. The slides might not always give a quick
definition the same way a glossary can.
2023-10-05 07:17:24 +02:00
9d45db83b1 Add a "minimum wrong example" program in C (#1241)
This example shows what kind of bugs easily slip into C code and are
made impossible via Rust.

I have created this example for the motivation slides of my master
thesis. Since then, the university institute has used it in their
introduction to Rust.
I hereby make this part available to the Comprehensive Rust course and
relicense it under the terms of the Apache 2.0 license.

Thank you @mgeisler for your invitation to contribute to this course!

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-10-04 13:26:37 +00:00
7395725edf Avoid naming struct field like trait method (#1294)
The `name` struct field was confusing because it was named the same as
the trait method. The struct fields are now disjoint from the method
names — the fact that there are two separate name spaces is not the
point of these slides.

I also dropped the zero-sized type, this is also not the main focus
here.

I also compressed the code a bit to make the unimportant structs take
up less space.

Fixes #1292.
2023-10-04 09:52:15 +00:00
a883a569d0 Remove unused callback from GUI exercise (#1293)
Here's a possible update to the GUI/TUI exercise, taking out the
callback and explaining (slightly).

See what you think.

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-10-03 14:07:33 +00:00
0f768df367 Minor rewording of safe-ffi-wrapper exercise. (#1286)
For readability.
2023-10-03 14:03:30 +00:00
9f079f173b Update all Cargo.lock files (#1295)
This is the result of running `cargo update` in every directory.

It fixes a alert: https://github.com/advisories/GHSA-9mcr-873m-xcxp. We
don’t run any HTTP server directly, so this is not super important for
us. However, it will remove the alert from my dashboard.
2023-10-03 14:18:44 +02:00
36449cb1b2 Add hash to rustdoc example (#1282)
Hashes are important (and somewhat confusing to novices) part of the
rustdoc.
2023-10-02 14:23:46 +02:00
c894ea3517 Add unittest example to rustdoc (#1276)
Fixes #1275

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-09-29 06:40:24 +00:00
1c43db108b Fix inconsistent filename styling (#1274)
Addresses https://github.com/google/comprehensive-rust/issues/625

Pages with inconsistent styling:
[Bare Metal Rust Afternoon
Solutions](https://google.github.io/comprehensive-rust/exercises/bare-metal/solutions-afternoon.html)
[Concurrency Afternoon
Solutions](https://google.github.io/comprehensive-rust/exercises/concurrency/solutions-afternoon.html)
[Microcontroller > Debugging
Page](https://google.github.io/comprehensive-rust/bare-metal/microcontrollers/debugging.html)
2023-09-29 08:38:42 +02:00
0e89050eb9 Actually print something in prime_squares example (#1271)
As suggested in #1268.
2023-09-28 11:09:40 +02:00
d0e0e5c1af Skip some untranslatable code blocks (#1258)
This builds on the work of @dyoo in
https://github.com/google/mdbook-i18n-helpers/pull/69: by adding a
special `<!-- mdbook-xgettext: skip -->` comment, we can skip the
following code block.

I also modified a few code blocks to remove translatable text: variable
names are not expected to be translated, so it’s fine to have a line
with `println!("foo: {foo}")` in the code block.

This PR removes 36 messages from the POT file. The number of lines drop
by 633 (3%).

Part of #1257.
2023-09-26 17:04:46 +02:00
a492b2f1b2 Italic filenames formatted accordingly (#1259)
**Task** Addresses:
https://github.com/google/comprehensive-rust/issues/625
Certain pages in the mdbook that display filenames have inconsistent
styling.

The style we want to follow: [the interop
section](https://google.github.io/comprehensive-rust/android/interoperability/java.html)

The current problem: [the RTC
driver](https://google.github.io/comprehensive-rust/exercises/bare-metal/rtc.html)
excercise page.

--
@mgeisler I checked this feature by looking through every page


![work](https://github.com/google/comprehensive-rust/assets/38759997/8affd0c2-71f2-4708-88f6-f63cf3c24efa)
2023-09-26 15:15:41 +02:00
864bb942c0 Clarify distinction between Drop trait and drop function. (#1255)
This clears up some misleading explanation from #246.
2023-09-26 11:59:16 +01:00