1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-23 23:19:20 +02:00

1168 Commits

Author SHA1 Message Date
Andrew Walbran
20f02db5f5
Add a cargo workspace containing both crates ()
* Move Cargo.toml for exercises to exercises directory.

* Create a workspace with both exercises and i18n-helpers.

* Build in CI as well as testing.

* Binaries must have a main function.

* No need for workspaces configuration for caching anymore.
2023-02-02 16:14:34 +00:00
Martin Geisler
a07bfa108f
Wrap long line of code ()
This line was too big to show during class.
2023-02-01 12:34:10 +01:00
Martin Geisler
476ee283c6
Simplify Vec slide ()
The code is probably meant to illustrate the `vec!` macro, but it
feels out of place when teaching: there is already enough material
here to get through.
2023-02-01 10:49:11 +01:00
Martin Geisler
d6182ea498
Fix missing word () 2023-01-31 20:09:00 +00:00
Martin Geisler
c6a54ce9a9
Show the pair returned by duplicate ()
This makes it easier to talk about the code as you make changes to the
`duplicate` function.
2023-01-31 21:08:09 +01:00
Martin Geisler
dee5e654c8
Fix order of standard library slides ()
The slides now follow the order on the intro slide.
2023-01-31 15:04:17 -05:00
Frieder Bluemle
fd65ff0f0c
Fix JetBrains capitalization ()
* Fix JetBrains capitalization

* Revert change to da.po

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-01-31 19:45:54 +00:00
lodisy
330d21ef02 Update traits.md 2023-01-31 11:07:24 +00:00
Igor Petruk
100ee591ed
Update unsafe.md ()
* Update unsafe.md

Adding a paragraph explaining that unsafe code is not necessary broken or evil, but it is a mode
where compiler safety features are off.

* Move explanation to speaker notes

To avoid slide being too long. Also edited text slightly.

* Remove extra space

---------

Co-authored-by: Andrew Walbran <qwandor@google.com>
2023-01-30 13:12:51 +00:00
Charisee Chiw
601dc8258b
Speaker notes for vec.md ()
* Speaker notes for vec.md

* Fix grammar and formatting

* Fix formatting and spelling.

---------

Co-authored-by: Andrew Walbran <qwandor@google.com>
2023-01-30 11:56:30 +00:00
Charisee Chiw
49d24f89cf
Speaker notes for while-let-expressions.md ()
* Speaker notes for while-let-expressions.md



* Update while-let-expressions.md

---------

Co-authored-by: Andrew Walbran <qwandor@google.com>
2023-01-30 11:47:56 +00:00
CodeMaster7000
31ae4ac56b
Rename LICENSE.txt to LICENSE ()
* Rename LICENSE.txt to LICENSE

* Update credits.md
2023-01-29 14:20:55 +01:00
focksor surooi
43c5344785
Fix typos ()
* fix typo in running-the-course.md

* Update modern.md
2023-01-29 11:54:51 +00:00
Mao Yufeng
49e06ffe03
Fix link to solution on Day 3 exercise ()
* fix day-3 solutions link

* Fix link description by making it singular

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-01-29 12:52:32 +01:00
Andrew Walbran
27b6165202 Implement Error. 2023-01-27 17:54:37 +00:00
Andrew Walbran
caaca140ca Another note for anyhow. 2023-01-27 17:54:37 +00:00
Andrew Walbran
79f5f0dade Add slide about Box<dyn Error> before introducing anyhow. 2023-01-27 17:54:37 +00:00
Andrew Walbran
e5c97e12cb No need for thiserror as well as anyhow. 2023-01-27 17:54:37 +00:00
Andrew Walbran
9fa0e89e90 It makes no sense to use both return and ?. 2023-01-27 17:54:37 +00:00
Andrew Walbran
52d28b155b Mention std::error::Error in speaker notes, and other useful traits. 2023-01-27 17:54:37 +00:00
Andrew Walbran
5dd87192e8 Mention that Send and Sync are unsafe traits. 2023-01-27 17:34:31 +00:00
Andrew Walbran
81cf02ffbe Fix typos and details. 2023-01-27 17:34:31 +00:00
Andrew Walbran
cc402a7788 Add some speaker notes to concurrency chapter. 2023-01-27 17:34:31 +00:00
Andrew Walbran
c066ab5664 Mention other ABI options. 2023-01-27 17:17:37 +00:00
Andrew Walbran
95c0447e4b Remove comment inside unsafe block.
Martin thinks the safety comment at the top is enough.
2023-01-27 17:17:37 +00:00
Andrew Walbran
facbac4601 Fix typo, and this is not specific to glibc. 2023-01-27 17:17:37 +00:00
Andrew Walbran
6e7916c29b Add a slide about writing unsafe functions. 2023-01-27 17:17:37 +00:00
Andrew Walbran
3cadad4e0a Add slide for unsafe traits. 2023-01-27 17:17:37 +00:00
Andrew Walbran
8c2b3781bb Move extern functions slide under unsafe functions. 2023-01-27 17:17:37 +00:00
Andrew Walbran
7deb5532ea Add speaker notes for extern functions. 2023-01-27 17:17:37 +00:00
Andrew Walbran
d07171e76d Add safety comment. 2023-01-27 17:17:37 +00:00
Andrew Walbran
47e28e87c0 Add speaker notes for unions. 2023-01-27 17:17:37 +00:00
Andrew Walbran
d7fcf8216a Mutable statics are generally a bad idea. 2023-01-27 17:17:37 +00:00
Andrew Walbran
9bed4fce3c Add speaker notes and safety comment for raw pointers. 2023-01-27 17:17:37 +00:00
Andrew Walbran
062905e7d7 There's no name involved here. 2023-01-27 17:17:37 +00:00
Andrew Walbran
e0cb292624 Put unsafe slides in same order as they are introduced in unsafe.md. 2023-01-27 17:17:37 +00:00
Charisee Chiw
1453e1d5bb Update blocks.md 2023-01-27 12:03:49 +00:00
Igor Petruk
585509bb0a
Update points-polygons.md ()
Adding speaker notes with key things that might be present in the solution.
2023-01-26 19:04:03 +01:00
Charisee Chiw
4588d95427 Update match-guards.md 2023-01-26 12:08:21 +00:00
Davide Guerri
a0a1059c0d Verbose description of Sync-Send relationship
Add a verbose rationale of the statement:
  `T` is `Sync` if and only if `&T` is `Send`
2023-01-26 12:06:54 +00:00
Alexei Ermakov
f0310f4f61 Fixed link to IntoIterator for Vec doc 2023-01-26 12:04:58 +00:00
rbehjati
f15fc1a0b8
Add discussion points for traits ()
* Some discussion points for traits
* Add answers
2023-01-26 09:14:05 +00:00
upsidedwn
ec01563bd6
Propose to use the generic term perimeter instead of circumference for shapes ()
* Update unit tests to use generic perimeter

* Update solution to use perimeter

Update solution to use the generic term perimeter instead of circumference
2023-01-26 08:59:13 +00:00
Charisee Chiw
f3446a9176
Speaker notes for methods.md ()
* Update methods.md

* Update methods.md

* Update methods.md

* Reword explanation of methods

Co-authored-by: Andrew Walbran <qwandor@google.com>
2023-01-24 10:46:13 -08:00
Igor Petruk
da666548a7
Update example.md ()
Adding the line that you can no longer call `add_lap` after the race is finished.
2023-01-24 15:27:29 +01:00
Igor Petruk
b12a1cb320
Update example.md ()
Adding a possible solution to the example that
does not compile. The solution includes notes
with important parts.
2023-01-24 15:25:18 +01:00
Marko Zagar
10ca7b1b2d
More fixes and additions to Day1 Morning ()
* Corrections around slices and string slices, also slight improvements to the language.

* Explained some of the confusing details in the functions example.

* Added a speaker note (hinting at `Into`  as a complement to generics).

* Exclude the clarification code snippet from build testing.

* Update functions-interlude.md

Do not mention explicit section numbers as they may change.
2023-01-24 15:20:18 +01:00
Andrew Walbran
b064642b02 Make program consistent with output given. 2023-01-24 11:45:04 +00:00
Andrew Walbran
536c1dc90b Speaker notes for Android chapter. 2023-01-24 11:45:04 +00:00
Igor Petruk
6702accbbb
Update string-slices.md ()
* Update string-slices.md

* Adding an extra example of converting `String` back to `&str`.
* C++ who would often read this guide could get immediate intuitive understanding of Rust strings if you compare them to C++ equivalents.

* Expand on `String` vs `std::string`

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-01-24 08:52:55 +00:00