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

1376 Commits

Author SHA1 Message Date
f04e277744 Chromium: Add redox_syscall to speaker notes for the third-party exercise. (#1571)
Speaker notes for Chromium's third-party crate exercise list the
transitive dependencies that will be downloaded during the exercise.
Before this commit the list was missing the `redox_syscall` crate.

Additionally, the commit sorts the crates to make it easier to compare
with the output of `git status` or `ls`.

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-12-11 07:21:53 -08:00
d62f2c4583 Add trait bounds to glossary (#1569)
Hi, this is a tiny MR to add glossary entry for "trait bound". Could you
someone review it? I'm open to suggeston, too. Thank you!
Context:
https://github.com/google/comprehensive-rust/pull/1436#discussion_r1394298992
2023-12-10 17:05:11 +01:00
4a576fd436 Update depending-on-a-crate.md (#1570)
Fix typo
2023-12-08 07:07:13 -08:00
89b41555eb Title-casing in section titles (#1557)
Fixes https://github.com/google/comprehensive-rust/issues/1552
2023-12-07 18:06:18 -08:00
1ec2e8db9e Expand "Docs" plus light copy-editing (#1568)
I don't like shortening words, so I prefer "Documentation" over "Docs".
I find this less jargony and thus easier to read (and potentially also
easier to translate).
2023-12-07 20:04:36 +00:00
c080de8253 Simplify enums a little (#1566)
This takes out the huge example with lots of macro magic. I don't think
we need it for an introductory course.

I also cleaned up the formatting a little and made sure to distinguish
between types and values.

---------

Co-authored-by: Dustin J. Mitchell <djmitche@google.com>
2023-12-07 16:15:57 +00:00
cc8405d04f Chromium exercise solutions (#1564)
The main thing in this CL is a link to exercise solutions but there are
a couple of other very minor tweaks.
2023-12-06 19:26:41 +00:00
91cb5b2048 Fix outdated references to “three days” (#1563)
Rust Fundamentals is now a four-day course.
2023-12-06 12:55:34 -05:00
9efad3212f More minor fixes (#1561)
- Fix compile errors and warnings in error handling example
- Tweak iteration example so that it correctly visits the first grid
coordinate
2023-12-06 12:53:06 -05:00
59a0faba83 Update policy.md (#1560)
Fix formatting of "C++"
2023-12-06 09:55:42 -05:00
f08c537007 Use type annotation instead of turbo fish in method chapter (#1558)
If we use a type annotation, we get around explaining the turbo fish,
which isn't trivial without having introduced generics. Type
annotations on the other hand are known already.
2023-12-06 14:16:01 +00:00
70efef4f38 Use Self to create struct in method chapter (#1559)
If I'm not mistaken, it's idomatic to use `Self` in a struct constructor
rather than the name of the struct.
2023-12-06 14:08:56 +00:00
6c5061bb90 Various small fixes (#1556)
Plus one more substantial comment on casting.
2023-12-05 18:06:42 -05:00
8f9902cc3e Chromium: new subsection about gtest tests (#1551) 2023-12-05 10:39:02 +00:00
7d10518b24 Update interior-mutability.md (#1554)
fix typo copmile-time
2023-12-04 18:36:35 +00:00
24b132b67a Chromium: expanding CXX error handling section. (#1539) 2023-12-04 08:03:17 -08:00
a277e7b922 Fix mock example and move it to a file for testing (#1548)
I swear I tested this in an actual Rust file, but I somehow messed up
when copy-pasting it into the example. The code is now in the test file
so it will be correct.

Why is the indentation wrong? Because of

  https://github.com/rust-lang/mdBook/issues/1564

The indentation is not kept by the included content, which breaks the
Markdown.
2023-12-01 23:19:10 +01:00
fbd79e36e7 Remove incorrect comment about moving arrays (#1547)
Fixes #1546.
2023-12-01 13:37:37 -05:00
584c957d69 Fix spelling of CXX and Cargo (mostly in the Chromium part). (#1549) 2023-12-01 10:21:47 -08:00
53baee82e3 Re-apply formatting to SUMMARY.md (#1429)
With the latest version of mdbook-i18n-helpers, we now have support for
formatting in the `SUMMARY.md` file. This allows us to revert the
changes made in #130 when we first introduced the translation support.

This also aligns a few headings to match the heading in the outline.
While this isn’t strictly necessary, it removes a bit of work for the
translators.
2023-12-01 13:20:28 -05:00
9d21d5648d Use std::string_view (not just const char*) as an analogy of &str. (#1518) 2023-12-01 10:17:27 -05:00
f837afa034 Explain that mocking.md has AOSP recommendations (#1545)
A follow-up to #1532.
2023-12-01 10:10:27 -05:00
d0bab8302c Add slide to show the Mockall crate in action (#1532)
As more and more Android teams start using Rust, the question of "How to do mocking?" has come up more frequently. Right now, we don't have a good answer to those teams, AOSP doesn't have any mocking framework available. That will change soon with the import of Mockall and this slide is part of the supporting documentation that we can point teams to.
2023-12-01 09:36:06 -05:00
3f7b6d4ad7 Fix adb push command (#1542)
```
$ adb push "$ANDROID_PRODUCT_OUT/system/bin/hello_rust /data/local/tmp"
adb: push requires <source> and <destination> arguments
```

---------

Co-authored-by: Martin Geisler <mgeisler@google.com>
2023-12-01 10:05:46 +00:00
1ab68d6ac1 Chromium: minor tweaks in reviews-and-audits.md. (#1540) 2023-12-01 09:34:04 +01:00
547de2b161 Chromium: Expand speaker notes for Rust Analyzer demo (#1537) 2023-12-01 09:25:29 +01:00
f3e045ddf4 Chromium: Enumerate automation benefits of cxx + other minor tweaks. (#1524) 2023-12-01 09:24:59 +01:00
c7fb26fe0e Chromium: Revise cargo.md, focusing on when to prefer cargo over gn. (#1520) 2023-12-01 09:23:58 +01:00
02d0b5d01a Chromium: fix path of String::from_utf16 (#1541) 2023-12-01 09:21:20 +01:00
97e130271d Fix Markdown in build-rules.md (#1530)
The mixing of HTML and Markdown breaks our translation pipeline: we see
the HTML and fail to parse things correctly.

This might be https://github.com/google/mdbook-i18n-helpers/issues/97,
but I'm not 100% sure.

The fix is to make put the HTML on its own line: then the Markdown is
parsed again inside.

Fixes #1527.
2023-11-30 06:55:03 -08:00
1ba88ba72e Fix Fibonacci numbers example (#1529)
The exercise has n <= 2 for the base case, but it is n < 2 in the
solution.
You currently get fib(n) = 10946 for n = 20, but it should be 6765.
2023-11-30 09:46:13 -05:00
9905b21c26 Fix ANCHOR_END in exercise.rs (#1531)
This fixes the duplicated content.

Fixes #1525.
Fixes #1526.
2023-11-30 09:34:41 -05:00
a73c830e45 Add course and session markers for deep-dives (#1521)
This doesn't add any timing information. The authors of each deep-dive
can do that separately.

Fixes #1510.
2023-11-30 09:26:21 -05:00
8862ab6530 Add slide on GoogleTest (#1528)
We expect Android engineers to start using this crate going forward.
2023-11-30 14:57:00 +01:00
ca0bfedac6 Update setup.md (#1519)
```
$ lunch aosp_cf_x86_64_phone-userdebug

Invalid lunch combo: aosp_cf_x86_64_phone-userdebug
Valid combos must be of the form <product>-<release>-<variant>
```
2023-11-30 13:36:42 +00:00
6d19292f16 Comprehensive Rust v2 (#1073)
I've taken some work by @fw-immunant and others on the new organization
of the course and condensed it into a form amenable to a text editor and
some computational analysis. You can see the inputs in `course.py` but
the interesting bits are the output: `outline.md` and `slides.md`.

The idea is to break the course into more, smaller segments with
exercises at the ends and breaks in between. So `outline.md` lists the
segments, their duration, and sums those durations up per-day. It shows
we're about an hour too long right now! There are more details of the
segments in `slides.md`, or you can see mostly the same stuff in
`course.py`.

This now contains all of the content from the v1 course, ensuring both
that we've covered everything and that we'll have somewhere to redirect
every page.

Fixes #1082.
Fixes #1465.

---------

Co-authored-by: Nicole LeGare <dlegare.1001@gmail.com>
Co-authored-by: Martin Geisler <mgeisler@google.com>
2023-11-29 16:39:24 +01:00
ea204774b6 Bring Chromium patching instructions up to date. (#1508)
Patching is now automatic.
2023-11-29 15:41:52 +01:00
5cec89045b Thank creator of uwu crate. (#1505) 2023-11-29 15:38:19 +01:00
e1300e675b Update rust-ecosystem.md to fix typo (#1504) 2023-11-29 09:11:30 +00:00
1feda6f267 Add speaker notes for cargo comparison. (#1498)
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-11-28 20:36:24 +00:00
d2aab63d15 More speaker notes about Android (#1501)
Helps with https://github.com/google/comprehensive-rust/issues/1083
2023-11-28 19:19:04 +00:00
aebb0bc856 Replace hyphens (-) with em-dashes () (#1500)
The new Chromium class likes — like me! — to use dashes in the writing!
However, I believe it should use an em-dash instead of the hyphen.

Luckily this is easy: we have enabled “typographic quotes” in `mdbook`,
which also handles the conversion of `---` to `—` in the generated HTML.
So I normalized the single existing em-dash to a triple-dash to make it
more consistent (and hopefully make it easier for translators to
consistently enter these characters).
2023-11-28 19:41:09 +01:00
d39740f91d Fix link to uwuify crate (#1499) 2023-11-28 13:37:06 +00:00
7f469fb2c7 Add Chromium section (#1479)
This is a contribution of a Chromium section for Comprehensive Rust.

---------

Co-authored-by: Nicole L <dlegare.1001@gmail.com>
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-11-27 18:21:19 +00:00
5a22a5f026 Remove unused "Summary" heading (#1485)
The first heading is not actually used, it just takes up space here and
in the PO files.
2023-11-20 16:53:13 +01:00
8b863c0446 Update Rust dependencies (#1487)
This fixes a low-criticality vulnerability in `atty` (on Windows):

  https://github.com/advisories/GHSA-g98v-hv3f-hcfr

I only updated the dependencies here which didn’t require code changes.
2023-11-20 09:26:19 -05:00
34f0cfb770 Revert minimum wrong example (#1483)
Reverted as a result of discussion in #1475 

@mgeisler
2023-11-19 11:40:57 +01:00
5ffcac5bfd Filled missing glossary terms with their explanations (#1473)
Changes Made
This Pull Request addresses issue #1466 and includes the following
changes:
Added Glossary Terms: Filled in missing glossary terms with their
respective explanations.

Context
The glossary is a crucial reference for understanding key terms in the
project. This PR enhances its completeness and readability by adding
missing terms and improving the overall formatting.

Related Issues

Fixes #1466.
2023-11-15 09:23:51 +00:00
d6bb75ab7b Revert "Update other-resources.md" (#1477)
Reverts google/comprehensive-rust#1452, as the learning resource added
there is not fully free content.
2023-11-13 09:28:22 -08:00
b7832d7856 Update glossary.md (#1455)
Expand a few random entries of the glossary. This is just to remind
people that the glossary exists and that we should work on making it
complete.

Part of #1466.
2023-11-10 14:15:32 +00:00