1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2026-05-22 07:55:37 +02:00
Commit Graph

717 Commits

Author SHA1 Message Date
Andrew Walbran f6daca3dde Enable and use RTC interrupt. 2023-04-17 12:29:20 +01:00
Andrew Walbran 9aed038d8e Start on GICv3 driver. 2023-04-17 12:29:20 +01:00
Andrew Walbran ce752db15a Add methods to mask and clear interrupts. 2023-04-17 12:29:20 +01:00
Dustin J. Mitchell d143528e07 Minor fix-ups to the async section. (#566)
These address some comments in #496.
2023-04-16 19:20:24 -04:00
Andrew Walbran 87f1976589 cargo fmt with imports_granularity = "module" (#564) 2023-04-16 20:57:59 +02:00
Dustin J. Mitchell 0d30da7f23 Add an "async" session (#496)
* beginning of an Async section

* address review comments

* Add futures page (#497)

NOTE: `mdbook test` does not allow code samples to reference other crates, so
they must be marked as `compile_fail`; see #175.

* Add Runtimes & Tasks (#522)

These concepts are closely related, and there's not much else to know
about runtimes other than "they exist".

This removes the bit about futures being "inert" because it doesn't
really lead anywhere.

* Async chapter (#524)

* Add async channels chapter

* Async control flow

* Async pitfalls

* Separate in multiple chapters + add daemon section

* Merge reentering threads in blocking-executor

* async_trait

* Async fixes (#546)

* Async: some ideas for simplifying the content (#550)

* Simplify the async-await slide
* Shorten futures and move it up
* Add a page on Tokio

* Modifications to the async section (#556)

* Modifications to the async section

* Remove the "Daemon" slide, as it largely duplicates the "Tasks" slide.
  The introduction to the "Control Flow" section mentions tasks as a
  kind of control flow.

* Reorganize the structure in SUMMARY.md to correspond to the directory
  structure.

* Simplify the "Pin" and "Blocking the Executor" slides with steps in
  the speaker notes to demonstrate / fix the issues.

* Rename "join_all" to "Join".

* Simplify some code samples to shorten them, and to print output rather
  than asserting.

* Clarify speaker notes and include more "Try.." suggestions.

* Be consistent about where `async` blocks are introduced (in the
  "Tasks" slide).

* Explain `join` and `select` in prose.

* Fix formatting of section-header slides.

* Add a note on async trait (#558)

---------

Co-authored-by: sakex <alexandre@senges.ch>
Co-authored-by: rbehjati <razieh@google.com>
2023-04-14 14:06:50 +00:00
dependabot[bot] d6e09c8130 Bump h2 from 0.3.16 to 0.3.17 (#565)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.16...v0.3.17)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 10:33:30 +01:00
Dustin J. Mitchell 6c97e1a7be Add a new async exercise: elevator simulation. (#557) 2023-04-13 16:26:57 +02:00
Andrew Walbran d8e442b9cb Extend bare metal afternoon exercise (#561)
* Add methods to set match register and check whether it matches.

* Add first extension to RTC exercise, using match register.

* No need for constants to be public.
2023-04-13 10:58:06 +01:00
Martin Geisler 5b316b8b5b Prevent accidental publishing the link-checker exercise 2023-04-11 10:47:18 +01:00
Andrew Walbran bf18b33e39 Use exerciser for day 4 exercises too. 2023-04-11 10:47:18 +01:00
Yuri Astrakhan 5cdb73387f Inline format vars to make the format str simpler (#551) 2023-04-06 12:00:10 +02:00
Andrew Walbran 86d8c4ae54 Rename exercise template directory and archive. 2023-04-05 16:28:07 +01:00
Andrew Walbran ed4f5b64c4 Zip exercise templates for translation build artifacts. 2023-04-05 16:28:07 +01:00
Andrew Walbran 6b7c7cbc73 Fix publishing translations. 2023-04-05 16:28:07 +01:00
Andrew Walbran 6cba1ef2bb rustfmt with imports_granularity = "module". 2023-04-05 16:28:07 +01:00
Andrew Walbran b6f5ba1af0 Run exerciser as mdbook renderer. 2023-04-05 16:28:07 +01:00
Andrew Walbran e204b5060f Rename directory to match crate name. 2023-04-05 16:28:07 +01:00
Andrew Walbran 3e224e6f55 No need to handle #include directives ourselves anymore.
The mdbook links preprocessor will process them before we get called.
2023-04-05 16:28:07 +01:00
Andrew Walbran edd9df042c Make exerciser an mdbook renderer. 2023-04-05 16:28:07 +01:00
Andrew Walbran b24b5b02f3 Include input filename in error message. 2023-04-05 16:28:07 +01:00
Andrew Walbran 6bac3aad01 Split out library. 2023-04-05 16:28:07 +01:00
Andrew Walbran 5f5cf9dc7f Add a comment explaining the state machine. 2023-04-05 16:28:07 +01:00
Andrew Walbran 04c36de355 Add README for exerciser. 2023-04-05 16:28:07 +01:00
Andrew Walbran 9375126b3c Use comment rather than inline code to find filename. 2023-04-05 16:28:07 +01:00
Andrew Walbran 9f91699be6 Ensure that book directory exists. 2023-04-05 16:28:07 +01:00
Andrew Walbran 06badccb19 Remove output before building exercises. 2023-04-05 16:28:07 +01:00
Andrew Walbran 3f7cc60686 Make zip part as part of script.
This makes running local builds easier.
2023-04-05 16:28:07 +01:00
Andrew Walbran c17e8abbd7 Add links to exercise template archive. 2023-04-05 16:28:07 +01:00
Andrew Walbran d0ef072cf2 Publish exercise templates to Pages. 2023-04-05 16:28:07 +01:00
Andrew Walbran adabd342ff Add Rustdoc comments for functions. 2023-04-05 16:28:07 +01:00
Andrew Walbran 9372d14378 Build exercise templates in CI. 2023-04-05 16:28:07 +01:00
Andrew Walbran 97d3c9c17d Add script to run exerciser on bare metal exercises. 2023-04-05 16:28:07 +01:00
Andrew Walbran 89c8eb0ef2 Add utility to build exercise starting directory from Markdown. 2023-04-05 16:28:07 +01:00
Andrew Walbran b85c893390 Explain entry point and entry.S. 2023-04-05 15:13:10 +01:00
Andrew Walbran 2e94a80d9d Discuss use of unsafe functions and safe wrappers. 2023-04-05 15:13:10 +01:00
Andrew Walbran 5068b1288d Add notes about running examples. 2023-04-05 15:13:10 +01:00
Martin Geisler 49bf110b31 Use mdbook-i18n-helpers crate (#552)
The i18n-helpers are now available as a stand-alone crate:
https://crates.io/crates/mdbook-i18n-helpers.

Because we cache the Rust binaries in our GitHub workflows, I bumped
the cache prefix to ensure we use a clean cache. Otherwise, Cargo
won’t install the new binaries in mdbook-i18n-helpers because it sees
the old ones from this repository.
2023-04-05 16:08:11 +02:00
Kostis Andrikopoulos c299bf58a8 Add initial and incomplete Greek translation (#534)
Add initial and incomplete greek translation
2023-04-05 02:42:44 +02:00
Martin Geisler 907608c504 Format title consistently (#526) 2023-04-04 17:29:33 +02:00
Martin Geisler 41b29e210e Update polib dependency to version 0.2.0 (#548)
The API changed a little from version 0.1.0.

The new release includes https://github.com/BrettDong/polib/pull/1,
which means we can simplify the code that writes a new PO file.
2023-04-04 17:29:12 +02:00
Martin Geisler f26134b1f5 Add links to the cloud-translate tool (#549) 2023-04-04 15:14:20 +02:00
Martin Geisler a3eaeca212 Update scraper dependency (#547)
* Update scraper dependency to 0.15.0

No code changes required because of this.

* Update dependencies in lock file
2023-04-04 14:27:46 +02:00
dependabot[bot] 407fee286b Bump spin from 0.9.6 to 0.9.8 (#545)
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.6 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

---
updated-dependencies:
- dependency-name: spin
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:46 +02:00
dependabot[bot] 64ee862f26 Bump spin from 0.9.6 to 0.9.8 in /src/bare-metal/alloc-example (#544)
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.6 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

---
updated-dependencies:
- dependency-name: spin
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:39 +02:00
dependabot[bot] 4338cd5744 Bump spin from 0.9.6 to 0.9.8 in /src/exercises/bare-metal/rtc (#543)
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.6 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

---
updated-dependencies:
- dependency-name: spin
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:30 +02:00
dependabot[bot] b32af58a5f Bump spin from 0.9.5 to 0.9.8 in /src/bare-metal/aps/examples (#542)
Bumps [spin](https://github.com/mvdnes/spin-rs) from 0.9.5 to 0.9.8.
- [Release notes](https://github.com/mvdnes/spin-rs/releases)
- [Changelog](https://github.com/mvdnes/spin-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdnes/spin-rs/commits)

---
updated-dependencies:
- dependency-name: spin
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 08:54:20 +02:00
Yuri Astrakhan acf2990243 Update if-let-expressions.md (#540)
* Update if-let-expressions.md

add a note about let-else expressions.  Closes #536

* Remove old mention of let-else

* Indent code block to match the bullet point

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-04-03 12:04:26 +02:00
Louis 4527d5f3de Updated po/de.po to include latest strings 2023-04-03 09:28:02 +02:00
Louis 6568559e27 Synced file with latest strings added 2023-04-03 09:28:02 +02:00