Niche optimization is currently mentioned in three places:
- Enums (User-Defined Types, Day 1 Afternoon)
- Option (Standard Library Types, Day 2 Afternoon)
- Box (Smart Pointers, Day 3 Morning)
This is a tricky thing to get right, and it was just in the speaker
notes in each place. #1820 will introduce a fuller explanation.
Fixes#1820.
We have not formally introduced ownership at this point, so the
exercise can be confusing for students.
Alternatively, we could consider removing the `finish` method since
it’s not essential for a first encounter with methods.
The exercise is about iterators, _not_ generic integer types. The
`where` syntax has also not been introduced before, further adding
confusion for the students.
We don’t have a convention of all-capital headings. However, we can
have do a similar convention with a block quotes (see README and
TRANSLATIONS).
Reviewed-by: Martin Geisler <mgeisler@google.com>
Bumps the patch group in /src/exercises/bare-metal/rtc with 1 update:
[cc](https://github.com/rust-lang/cc-rs).
Updates `cc` from 1.1.15 to 1.1.23
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the patch group in /src/bare-metal/aps/examples with 1 update:
[cc](https://github.com/rust-lang/cc-rs).
Updates `cc` from 1.1.15 to 1.1.23
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the minor group in /src/bare-metal/alloc-example with 1 update:
[buddy_system_allocator](https://github.com/rcore-os/buddy_system_allocator).
Updates `buddy_system_allocator` from 0.10.0 to 0.11.0
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
In this exercise, the original StderrLogger output to stderr, which user
cannot see the original log but "No output" in frontend". Change
`eprintln!` to `println!` to make it see-able in the frontend. Also, due
to the change, rename the logger struct.
Close: #2382
Signed-off-by: Alx-Lai <alexabc722@gmail.com>
This avoids the hack for using aarch64-linux-gnu on Linux, and also
removes a dependency.
Also switched to using `cargo-objcopy`, as we require `cargo-binutils`
already and it makes the Makefiles simpler.
`thiserror` is best understood as a way to eliminate boilerplate on the
patterns we've already seen, and then we can show it in conjunction with
`anyhow` subsequently.
Fixes#2027.
- Add missing package declaration on the AIDL interface slide.
- Make the parcelable example more self-contained. The existing code was
referencing variables that weren't declared in the example code.
- Add a speaker note to the logging slide about explaining that the
logger implementation is only needed in binaries, and that just the log
facade is needed in libraries.
There is a problem in how we generate the segment tables: we use the
`Chapter::name` field as given to us from `mdbook`. The problem is that
this string is stripped from formatting:
Slices: `&[T]`
becomes
Slices: &[T]
The string now looks like a reference link, but of course there is no
definition of the `T` link:
warning: Potential incomplete link
┌─ references.md:9:12
│
9 │ | Slices: &[T] | 10 minutes |
│ ^^^ Did you forget to define a URL for `T`?
│
= hint: declare the link's URL. For example: `[T]: http://example.com/`
For now, I will simply take out the reference. This also makes the
titles more uniform in this segment: we don’t add `&T` or `&mut T` to
the other slide titles.