1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-24 07:21:05 +02:00

784 Commits

Author SHA1 Message Date
Keiichi Watanabe
16e0f03a5e
Add CODEOWNERS for Japanese () 2023-05-22 16:55:43 +02:00
Martin Geisler
06e4f7843f
da: Translate pages about threads () 2023-05-22 14:47:35 +02:00
Victor Costan
032c7e3b6b
Fix typo in basic/syntax-static-and-const.md ()
Fix typo in basic/syntax-static-and-const.md.
2023-05-22 09:36:52 +01:00
Martin Geisler
98f3e6bf81
da: Translate most small messages ()
This copies a bunch of untranslatable page titles (such as crate
names) to the translation. I also translated a lot of small and fuzzy
entries. We should now be at 200 translated entries.
2023-05-19 07:44:51 -07:00
Per Larsen
add35bab8c
da: Additional translations () 2023-05-19 14:23:49 +00:00
Martin Geisler
f02facd56d
Add missing newlines around <details> ()
The newlines makes the text more uniform when extracted into the POT
file (spotted while doing ).
2023-05-19 09:43:44 -04:00
Martin Geisler
b9959bfeb1
Publish the in-progress Italian translation ()
This makes the translation available on the official site. It's not linked yet, but having it available there should make it easier to review the state.
2023-05-19 14:25:51 +02:00
Ivan De Marino
e83140b42c
Additional Italian translation ()
* Additional Italian translations

* Updated base template

* git-ignoring backup copies `po/*.po~` files, generated when updating an existing translation
2023-05-19 12:52:32 +01:00
Martin Geisler
6e9b02e5f4
da: Sync translation with c45b350 ()
da: sync with c45b350

This is the result of running

    MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot"}}' mdbook build -d po
    msgmerge --update po/da.po po/messages.pot
2023-05-18 06:59:45 -07:00
rbehjati
83663daaa2
Add the description of the chat-app exercise ()
* Adds a description of the async chat exercise
* Simplifies the use of Error in chat-async
* Links the solution to the async chat exercise
* Removes the elevator exercise
2023-05-17 18:22:11 +01:00
Edward Liaw
8406697449
Add code for speaker notes in trait inheritance ()
Give code samples of trait inheritance and a blanket implementation.

Signed-off-by: Edward Liaw <edliaw@google.com>
2023-05-17 09:02:02 +00:00
Dustin J. Mitchell
caeabdae3e
Beginnings of an async chat exercise ()
* beginnings of an async chat exercise

* really basic solution

* format
2023-05-16 15:51:01 +00:00
Martin Geisler
b4fb870af6
Enable imports_granularity for rustfmt ()
This requires us to run a nightly Rust for our formatting check[1]. Other
users will see a warning when invoking `rustfmt`:

  Warning: can't set `imports_granularity = Module`, unstable features
  are only available in nightly channel.

This should be harmless overall and help us ensure better consistency
in our import formatting.

[1]: https://rust-lang.github.io/rustfmt/?version=v1.5.1&search=#imports_granularity
2023-05-16 12:35:49 +02:00
Diogo Anderson
a788680d5e
Fixing a typo in a "details" close tag () 2023-05-15 22:20:54 +00:00
Martin Geisler
490b20e245
Link badges to the main branch ()
This is the only branch for which there is any expectation of
stability, so it makes sense to send people here.
2023-05-15 18:12:10 -04:00
Martin Geisler
1274260201
Fix broken link to trait objects () 2023-05-15 15:06:50 +01:00
Martin Geisler
d56298fc84
Add redirect for old async/concurrency/ directory ()
It seems we had a link to async/concurrency/channels.html for a brief
period. This got indexed and now show up as 404 errors in my reports.
2023-05-15 15:05:28 +01:00
Per Larsen
c45b35011c
da: Update translation ()
A few more translations in order for me to get my feet wet.
2023-05-15 11:46:33 +00:00
Martin Geisler
0036843f0c
Fix typo in dining-philosophers-async.md () 2023-05-12 14:34:11 +02:00
Per Larsen
780c23e610
Update CODEOWNERS for Danish () 2023-05-12 13:38:25 +02:00
Martin Geisler
9c6bb081d4
Update "Running the course" based on latest experience () 2023-05-11 17:23:01 +00:00
Dustin J. Mitchell
e9be072190
Upgrade mdbook-i18n-helpers link () 2023-05-11 09:55:43 -04:00
Martin Geisler
bbbc0601a9
Fix broken README links ()
Links inside the course are automatically turned into `.html` by
mdbook, but this is a regular README and so we need proper links.
2023-05-11 08:37:35 -04:00
Martin Geisler
ba50f568df
Add CODEOWNERS for Danish, Greek, Spanish, French, and Italian () 2023-05-10 10:25:14 +02:00
rbehjati
11571d0d1a
Add dining philosophers as an async exercise ()
* Adds dining philosophers as an async exercise
* Adds a solution for async dining philosophers
* Adds a solution page for the afternoon session on concurrency
2023-05-09 17:34:47 +01:00
Martin Geisler
4c91965224
pt-BR: Fix broken links () 2023-05-09 16:44:26 +01:00
rbehjati
00664d82b8
Fixes in the README () 2023-05-09 13:43:29 +01:00
Martin Geisler
e19fc8bfd2
Simplify GitHub actions ()
* Remove unnecessary jobs names

They are inconsistent with the rest of the jobs and they overflow the
horizontal space in the GitHub UI.

* Remove unnecessary toolchain action

The GitHub runners include rustup and a recent stable Rust. We only
need to add the necessary target and we’re good to go.

This removes a lot of warnings because the action used an outdated
GitHub API: https://github.com/actions-rs/toolchain/issues/219

* Simplify job name

The job is testing a single translation, so it should be singular.

* Test English source with translations

This simplifies the workflow a little and ensures that we get
artifacts uploaded of the English version for every PR.

* Avoid shell command chain

GitHub actions supports setting the working directory directly.

* Upload only the book artifact

Right now, the artifacts all contain the same two top-level folders:
html/ and exerciser/. The former is what we actually deploy, the
second is a side-effect of the exerciser plugin.

With this change, we only upload the HTML and we ensure the zip file
for the xx language has a top-level comprehensive-rust-xx/ folder.
This makes it much nicer to use the generated artifacts.
2023-05-08 16:32:25 +02:00
Martin Geisler
661f51b06b
Fix page redirects ()
* Fix broken redirects

A few of these were wrong since they assumed the target path is
relative to the root of the course (the path is relative to the page
being redirected).

* Sort redirects
2023-05-08 16:31:54 +02:00
Carlos Jimenez
ce7c5fdf22
Fix mistakes in book-library.rs ()
---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-05-08 08:20:42 +00:00
Bradford Hovinen
5bbb68be2c
Add a file which references some useful crates to use for writing tests ()
* Add a slide referencing recommended testing crates

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-05-05 14:59:25 +00:00
Andrew Walbran
5a495a508e
Update Cargo.lock. ()
This was missed in .
2023-05-05 11:25:45 +01:00
Louis Stanko
2706c3f532
de: Translated Chapter 1 ()
* Updated base translations

Co-authored-by: ronaldfw <wotzlaw@gmail.com>
2023-05-05 10:08:33 +02:00
Ivan De Marino
853c80a854
Italian: Google Translate API submission ()
* First pass of automated translation, using https://github.com/mgeisler/cloud-translate

I think it can give this a leg start.

* First batch of corrections from automatic translations
2023-05-05 10:05:26 +02:00
Tanuj
d83d1f1c48
Fix pluralisation inconsistency () 2023-05-05 09:57:44 +02:00
Dustin J. Mitchell
d0bf0d7a44
Order Send/Sync before Arc/Mutex ()
The Arc/Mutex chapters mention Send/Sync in the speaker notes, and in
fact serve as good illustrations of the traits, so let's define the
traits before referencing them.
2023-05-05 09:50:17 +02:00
Andrew Walbran
9cff14ca31
Link arm-gic to main documentation page rather than crate page () 2023-05-04 14:42:08 +00:00
Andrew Walbran
226aa21f3c
Use hyphen rather than underscore for gic-version ()
Older versions of QEMU seem to only accept a hyphen, while new versions accept either.
2023-05-04 15:41:15 +01:00
Andrew Walbran
93c1c814c3
Improve phrasing of comment ()
Some people interpreted the previous comment as meaning the RTC itself needed to be initialised or started somehow, but this is not the case.
2023-05-04 15:08:44 +01:00
Dustin J. Mitchell
cce3fff0d0
Minor fixes to async notes ()
* `join!( .., time::sleep(..))` isn't really a "timeout"

* Remove suggestion to make `sleep` take `&mut self`

I'm not sure what doing so demonstrates.

* Update src/async/control-flow/join.md

Co-authored-by: rbehjati <razieh@google.com>

---------

Co-authored-by: rbehjati <razieh@google.com>
2023-05-04 11:59:19 +00:00
Dustin J. Mitchell
1288d11adb
Fix title of 'Runtimes' () 2023-05-04 07:56:43 -04:00
Martin Geisler
3b07b4768a
Add unit tests to Safe FFI exercise () 2023-05-04 12:20:47 +02:00
Martin Geisler
84650b2af1
Add a style guide ()
This is an attempt at documenting some things to do and don’t do when
updating the course text or a translation.

Fixes .
2023-05-04 12:20:22 +02:00
Dustin J. Mitchell
09c996ad96
Move closures to the top level ()
move closures to the top level
2023-05-03 09:30:13 -04:00
Martin Geisler
841359f5df
Simplify methods slide ()
This tightens the language slightly. I also added a speaker note with
suggestions for more methods to add (if there is time).
2023-05-03 12:01:21 +02:00
Martin Geisler
789abc1028
Wrap comments at 80 columns ()
When teaching the class, I notice that these comments (which are
wrapped at 100 columns) cause a horizontal scrollbar which makes them
hard to read at a glance.

Here I wrapped them at 80 columns, which fits on the screen and which
avoids overly long lines.
2023-05-03 12:00:58 +02:00
Martin Geisler
4a09d053ac
Simplify fizz buzz slide ()
There is no need to introduce `match` here where we don’t have time to
talk about it in detail.
2023-05-03 09:56:58 +02:00
Martin Geisler
3b21053ff2
Cleanup references to "Day 4" ()
* Align outline with new spin-off course structure

With the new structure, the section on Android is a spin-off course
from the main 3-day course on Rust Fundamentals. The Bare-metal and
Concurrency days are spin-off courses in the same way.

* Explain new course structure

* Align Bare-Metal welcome page with other deep dives

* Merge Day 4 page into Course Structure page

* Remove Day 4 Welcome page

This aligns the Concurrency in Rust section with the Bare-Metal Rust
deep dive.

* Show subsections for Android deep dive

This aligns the Rust in Android section with the other deep dives.

* Clean up welcome page and README

We now cover async Rust and the course is no longer a four day course.

* Remove reference to the old Day 4

* Remove Day 4 references from exercises
2023-05-02 08:02:28 +02:00
Martin Geisler
c67922ce8c
Cleanup control flow slides ()
* Cleanup control flow slides

This avoids calling all the looping constructs “expressions” since
they all (except for `loop`) return trivial values.

---------

Co-authored-by: Dustin J. Mitchell <djmitche@google.com>
2023-04-29 03:12:24 +00:00
Martin Geisler
244e5b99c6
Provide more instructions in the library exercise () 2023-04-29 05:11:12 +02:00