* Update receiver.md
Moving the sentence to the third point and requesting an example of `self` vs `mut self`.
* Update src/methods/receiver.md
Improved the tone of the sentence.
Co-authored-by: Martin Geisler <martin@geisler.net>
---------
Co-authored-by: Martin Geisler <martin@geisler.net>
Normally developers are aware of the simpler language of implicit vs explicit. By replacing elided with implicit readability of the application might be improved.
Update unbounded.md to address inconsistent code
Fix inconsistency between concurrency `unbounded.md` and `bounded.md` by using implicitly named arguments for both.
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.
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.
* Additional Italian translations
* Updated base template
* git-ignoring backup copies `po/*.po~` files, generated when updating an existing translation
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
* 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
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
* Adds dining philosophers as an async exercise
* Adds a solution for async dining philosophers
* Adds a solution page for the afternoon session on concurrency
* 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.
* 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
* 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
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.