1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-12-20 14:25:37 +02:00
Commit Graph

2544 Commits

Author SHA1 Message Date
dependabot[bot]
1b91548093 build(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /tests in the npm_and_yarn group across 1 directory (#2979)
Bumps the npm_and_yarn group with 1 update in the /tests directory:
[js-yaml](https://github.com/nodeca/js-yaml).

Updates `js-yaml` from 4.1.0 to 4.1.1
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md">js-yaml's
changelog</a>.</em></p>
<blockquote>
<h2>[4.1.1] - 2025-11-12</h2>
<h3>Security</h3>
<ul>
<li>Fix prototype pollution issue in yaml merge (&lt;&lt;)
operator.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cc482e7759"><code>cc482e7</code></a>
4.1.1 released</li>
<li><a
href="50968b862e"><code>50968b8</code></a>
dist rebuild</li>
<li><a
href="d092d86603"><code>d092d86</code></a>
lint fix</li>
<li><a
href="383665ff42"><code>383665f</code></a>
fix prototype pollution in merge (&lt;&lt;)</li>
<li><a
href="0d3ca7a27b"><code>0d3ca7a</code></a>
README.md: HTTP =&gt; HTTPS (<a
href="https://redirect.github.com/nodeca/js-yaml/issues/678">#678</a>)</li>
<li><a
href="49baadd52a"><code>49baadd</code></a>
doc: 'empty' style option for !!null</li>
<li><a
href="ba3460eb9d"><code>ba3460e</code></a>
Fix demo link (<a
href="https://redirect.github.com/nodeca/js-yaml/issues/618">#618</a>)</li>
<li>See full diff in <a
href="https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=js-yaml&package-manager=npm_and_yarn&previous-version=4.1.0&new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/google/comprehensive-rust/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 14:41:42 +01:00
Nicole L
8222c70eb6 Minor fixes in new lifetimes section (#2965)
@gribozavr I had a couple more fixes for
https://github.com/google/comprehensive-rust/pull/2964 that I didn't
push until after you merged the branch.
2025-11-15 15:19:19 +01:00
tall-vase
bb4db3d7b8 "borrow checker invariants" section of the "leveraging the type system" chapter (#2867)
Adds materials on the "leveraging the type system/borrow checker
invariants" subject.

I'm still calibrating what's expected subject-and-style wise, so do
spell out things where I've drifted off mark.

---------

Co-authored-by: tall-vase <fiona@mainmatter.com>
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>
2025-11-07 14:12:59 +01:00
dependabot[bot]
03cd040dc2 cargo: bump microbit-v2 from 0.15.1 to 0.16.0 in /src/bare-metal/microcontrollers/examples (#2970)
Bumps [microbit-v2](https://github.com/nrf-rs/microbit) from 0.15.1 to
0.16.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:57:46 +00:00
dependabot[bot]
b4f923379e cargo: bump arm-pl011-uart from 0.3.2 to 0.4.0 in /src/exercises/bare-metal/rtc (#2972)
Bumps arm-pl011-uart from 0.3.2 to 0.4.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:55:44 +00:00
dependabot[bot]
2776bb6047 cargo: bump the minor group with 2 updates (#2973)
Bumps the minor group with 2 updates:
[regex](https://github.com/rust-lang/regex) and
[tokio](https://github.com/tokio-rs/tokio).

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:47:03 +00:00
dependabot[bot]
57fc8ef01e build(deps): bump actions/setup-node from 5 to 6 (#2974)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5
to 6.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:42:54 +00:00
dependabot[bot]
d50d9ec617 cargo: bump bitflags from 2.9.4 to 2.10.0 in /src/exercises/bare-metal/rtc in the minor group (#2969)
Bumps the minor group in /src/exercises/bare-metal/rtc with 1 update:
[bitflags](https://github.com/bitflags/bitflags).

Updates `bitflags` from 2.9.4 to 2.10.0

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:38:20 +00:00
dependabot[bot]
0207484f87 cargo: bump nrf52833-hal from 0.18.0 to 0.19.0 in /src/bare-metal/microcontrollers/examples (#2967)
Bumps [nrf52833-hal](https://github.com/nrf-rs/nrf-hal) from 0.18.0 to
0.19.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:37:56 +00:00
dependabot[bot]
4c2940d685 build(deps): bump crate-ci/typos from 1.37.0 to 1.39.0 (#2975)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.37.0 to
1.39.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:35:34 +00:00
dependabot[bot]
2a4a6e3a73 build(deps): bump actions/upload-artifact from 4 to 5 (#2976)
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 4 to 5.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:34:48 +00:00
dependabot[bot]
543404945c cargo: bump the patch group with 3 updates (#2977)
Bumps the patch group with 3 updates:
[clap](https://github.com/clap-rs/clap),
[reqwest](https://github.com/seanmonstar/reqwest) and
[cxx](https://github.com/dtolnay/cxx).

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:34:24 +00:00
dependabot[bot]
0ef575ce57 cargo: bump tokio-websockets from 0.12.3 to 0.13.0 (#2978)
Bumps [tokio-websockets](https://github.com/Gelbpunkt/tokio-websockets)
from 0.12.3 to 0.13.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:21:37 +00:00
dependabot[bot]
19bbee0343 cargo: bump arm-pl011-uart from 0.3.2 to 0.4.0 in /src/bare-metal/aps/examples (#2971)
Bumps arm-pl011-uart from 0.3.2 to 0.4.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 11:00:21 +00:00
dependabot[bot]
7d4149ac7a cargo: bump bitflags from 2.9.4 to 2.10.0 in /src/bare-metal/aps/examples in the minor group (#2968)
Bumps the minor group in /src/bare-metal/aps/examples with 1 update:
[bitflags](https://github.com/bitflags/bitflags).

Updates `bitflags` from 2.9.4 to 2.10.0

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 10:49:07 +00:00
dependabot[bot]
bacdddb55d cargo: bump microbit-v2 from 0.15.1 to 0.16.0 in /src/exercises/bare-metal/compass (#2966)
Bumps [microbit-v2](https://github.com/nrf-rs/microbit) from 0.15.1 to
0.16.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 10:48:53 +00:00
Nicole L
0a017e5b95 Rework lifetimes section (#2964)
This PR attempts to rework the lifetimes section to better contextualize
how lifetimes are used and to try to lead through a series of examples
more naturally. I think the current version of the lifetimes section
falls short in a handful of ways that make it hard to teach in class.
For a long time I've been experimenting with different ways to discuss
the topic, and in my recent classes I think I've finally hit on an
approach that works. The changes in this PR capture the approach I've
been using.

The core idea is to contextualize lifetime annotations by looking at
what happens when we return a reference from a function. We start with a
simple example that doesn't return a reference to show that the borrow
ends when the function returns. Then we look at a function that returns
a reference and show that it extends the borrow that was passed into the
function. With that context, we then look at cases where we need
lifetime annotations, specifically examples where there are two ref
arguments and a returned ref. We look at both possible cases: A function
where either of the argument refs may be returned, and a case where only
one will be returned. In both cases we show how we use lifetime
annotations to tell the compiler what the returned ref is borrowing.

I haven't had a chance to use these slides in class yet so I'm putting
this up as a draft PR while I continue to iterate on it so that other
folks can start giving feedback.
2025-10-31 19:37:53 +00:00
Martin Geisler
398cdb475f Add glossary entries for Day 1 (#2953)
These Rust-specific entries are for concepts taught on Day 1 and could
thus be useful to have in the glossary.
2025-10-30 09:39:12 +00:00
Martin Geisler
4d8bfaa55e Cleanup glossary (#2950)
Co-authored-by: Martin Geisler <martin.geisler@proton.ch>
2025-10-30 09:30:08 +00:00
michael-kerscher
6e862543d2 GitHub actions separate web tests (#2963)
Separating the web-tests from building the tests makes it more easy to
spot and override failing web-tests.

This is still testing only the English translation.

There are legitimate warnings coming out of the web-test infrastructure
and should be blocking. But sometimes the tests fail and need to be
overridden.
2025-10-30 10:21:59 +01:00
michael-kerscher
d3fea80239 Start a small playbook on how to deal with failing webtests. (#2962)
This is a starting point on how to deal with failures in the web-test
checks. They are supposed to warn for legitimate issues but if they
fail, they can be overridden.

The web-tests will be separated into its own job to better differentiate
if issues in building the English translation or web-testing the English
translation are happening
2025-10-30 09:14:21 +01:00
michael-kerscher
d1899de233 tests: Migrate create_slide.list.sh into cargo xtask function. (#2957)
The new xtask function makes the helper code
- more readable
- more reliable due to better error checking
- be in the same place as other helper functions
- and more aligned to the skillset relevant for contributing in this
repository.

The shell script grew and was not readable for everyone anymore without
deeper knowledge.

mitigates #2941 in a more reliable way but does still not fully fix the
root cause
2025-10-29 18:15:21 +01:00
michael-kerscher
a5e68972c2 Reduce permissions for Github actions by reducing to minimal permissions (#2961)
This is increasing the security of this repository. A standard
GITHUB_TOKEN currently has these permissions.

GITHUB_TOKEN Permissions
  Contents: read
  Metadata: read
  Packages: read

Setting only `contents: read` permission has the effect of removing
Packages permission. Metadata is added automatically.

fixes #2958
2025-10-29 14:37:13 +01:00
Martin Geisler
c3f92dde07 Remove unnecessary newline from slices.md (#2954) 2025-10-20 15:09:42 +02:00
Luca Palmieri
72cdf8660d Extension traits (#2812)
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>
Co-authored-by: tall-vase <228449146+tall-vase@users.noreply.github.com>
Co-authored-by: Nicole L <dlegare.1001@gmail.com>
Co-authored-by: tall-vase <fiona@mainmatter.com>
2025-10-20 12:45:06 +02:00
Martin Geisler
9b091ee649 Mention that glossary is for Rust terms (#2952)
This should help both humans and LLMs understand that the glossary is
there to help ensure consistent terminology across the many slides in
the courses.
2025-10-20 09:57:31 +02:00
Martin Geisler
afcb1419d0 Mention deep dives in STYLE (#2951) 2025-10-20 09:56:40 +02:00
Martin Geisler
1063356a1d Re-enable the red box to show available space (#2932)
Way back in #187, I introduced a hacky tool to show the available space
on a slide: it was a `mdbook` plugin which injected the necessary CSS on
each slide. Crude, but it got the job done.

The logic was moved from Python to a real CSS file with associated
JavaScript in #1842. In #1917, the functionality was moved to a
dedicated “instructor menu”, together with functionality for saving the
state of the Playground on each slide.

Unfortunately, the whole thing was disabled in #1935 since I found that
the Playgrounds lost their code with the saving logic. I was also not
100% happy with dedicating space on each slide for a menu only used by
instructors.

However, I really think we need a tool to let slide editors know about
the available space, so I would like to re-introduce the red box. This
time via a keyboard shortcut to make it easy to toggle as needed.

I’m suggesting enabling this for everyone, with the expectation that
most people won’t find the shortcut and will quickly disable the box if
they do (there is a dedicated button to hide it again).

End-to-end tests have been added for the new functionality.
2025-10-19 15:10:01 +00:00
Julia Hansbrough
a54794eefe Update "Solutions" in Rust-in-Chromium guide. (#2946)
Previously the guide only listed a series of abandoned patches for the
solutions for this part of the guide.

However, we've moved some of these exercises into the Chromium tree as
standalone build targets to make it more convenient for Rust learners.

So, let's make sure they're linked in this guide.
2025-10-14 05:58:10 +00:00
KawaBaud
10de002d4e change imports_granularity value to 'Module' (#2947)
rustsc 1.89.0 says that the values are in PascalCase and will error out
otherwise. Specfic message:

`"module" is not one of ["Preserve","Crate","Module","Item","One"]`
2025-10-14 07:48:26 +02:00
tall-vase
9dcd6f1225 "Token Types" chapter of Idiomatic Rust (#2921)
Materials on "token types."

---------

Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>
Co-authored-by: tall-vase <fiona@mainmatter.com>
2025-10-10 15:16:20 +01:00
dependabot[bot]
d4fbf29765 cargo: bump ammonia from 4.1.1 to 4.1.2 in the cargo group across 1 directory (#2944)
Bumps the cargo group with 1 update in the / directory:
[ammonia](https://github.com/rust-ammonia/ammonia).

Updates `ammonia` from 4.1.1 to 4.1.2

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 13:18:36 +02:00
dependabot[bot]
338f556b9f cargo: bump tempfile from 3.21.0 to 3.23.0 in the minor group (#2936)
Bumps the minor group with 1 update:
[tempfile](https://github.com/Stebalien/tempfile).

Updates `tempfile` from 3.21.0 to 3.23.0

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 13:03:50 +02:00
dependabot[bot]
97c73ab7fc cargo: bump the patch group in /src/bare-metal/aps/examples with 3 updates (#2935)
Bumps the patch group in /src/bare-metal/aps/examples with 3 updates:
[bitflags](https://github.com/bitflags/bitflags),
[log](https://github.com/rust-lang/log) and
[zerocopy](https://github.com/google/zerocopy).

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 10:23:08 +00:00
dependabot[bot]
787f0f7646 cargo: bump the patch group in /src/exercises/bare-metal/rtc with 4 updates (#2934)
Bumps the patch group in /src/exercises/bare-metal/rtc with 4 updates:
[bitflags](https://github.com/bitflags/bitflags),
[chrono](https://github.com/chronotope/chrono),
[log](https://github.com/rust-lang/log) and
[zerocopy](https://github.com/google/zerocopy).

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 10:19:04 +00:00
dependabot[bot]
9fcca2f346 build(deps): bump actions/setup-node from 4 to 5 (#2937)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4
to 5.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 10:18:36 +00:00
dependabot[bot]
6375ab05b6 build(deps): bump actions/labeler from 5 to 6 (#2938)
Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 10:17:44 +00:00
dependabot[bot]
c59d441845 cargo: bump arm-gic from 0.6.1 to 0.7.1 in /src/exercises/bare-metal/rtc in the minor group (#2933)
Bumps the minor group in /src/exercises/bare-metal/rtc with 1 update:
arm-gic.

Updates `arm-gic` from 0.6.1 to 0.7.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Walbran <qwandor@google.com>
2025-10-06 10:13:22 +00:00
dependabot[bot]
6758b454fe build(deps): bump crate-ci/typos from 1.35.7 to 1.37.0 (#2939)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.35.7 to
1.37.0.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Walbran <qwandor@google.com>
2025-10-06 10:12:00 +00:00
dependabot[bot]
7b022bb4e9 cargo: bump the patch group with 10 updates (#2940)
Bumps the patch group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.99` | `1.0.100` |
| [clap](https://github.com/clap-rs/clap) | `4.5.47` | `4.5.48` |
| [regex](https://github.com/rust-lang/regex) | `1.11.2` | `1.11.3` |
| [serde](https://github.com/serde-rs/serde) | `1.0.219` | `1.0.228` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.143` | `1.0.145`
|
| [zerocopy](https://github.com/google/zerocopy) | `0.8.26` | `0.8.27` |
| [tokio-websockets](https://github.com/Gelbpunkt/tokio-websockets) |
`0.12.1` | `0.12.3` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.16` |
`2.0.17` |
| [cxx](https://github.com/dtolnay/cxx) | `1.0.175` | `1.0.180` |
| [cxx-build](https://github.com/dtolnay/cxx) | `1.0.175` | `1.0.186` |

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 09:51:38 +00:00
michael-kerscher
483a9ec9f0 web tests: run style guide compliance check only for modified markdown files (#2942)
In the CI environment, only changes in the current PR are taken into
account.
This speeds up the test process and reduces failure potential if no
Markdown files have been changed.

Mitigates #2941 but does not fix the root cause
2025-10-06 11:34:00 +02:00
Martin Geisler
17a04070ed Don’t automatically install recommended packages (#2923)
Co-authored-by: Michael Kerscher <kerscher@google.com>
2025-10-01 20:33:48 +00:00
Dmitri Gribenko
0a734e9f02 docs(style): Document mdbook-xgettext skip comment (#2929) 2025-09-27 11:13:16 +02:00
Dmitri Gribenko
00e3e194ae feat(docs): Update and apply kbd tag style guide (#2930)
- Based on feed back from @mgeisler, update the kbd tag guidance in
GEMINI.md to require wrapping each key in its own tag (e.g.,
`<kbd>Ctrl</kbd> + <kbd>S</kbd>`).
- Apply this new convention to existing content in the `src` directory
to ensure consistency.
2025-09-27 11:13:03 +02:00
dependabot[bot]
096a0a6ff3 build(deps-dev): bump tar-fs from 3.0.9 to 3.1.1 in /tests in the npm_and_yarn group across 1 directory (#2931)
Bumps the npm_and_yarn group with 1 update in the /tests directory:
[tar-fs](https://github.com/mafintosh/tar-fs).

Updates `tar-fs` from 3.0.9 to 3.1.1
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0aa57de79e"><code>0aa57de</code></a>
3.1.1</li>
<li><a
href="0bd54cdf06"><code>0bd54cd</code></a>
expand check</li>
<li><a
href="cb1c571fba"><code>cb1c571</code></a>
3.1.0</li>
<li><a
href="374460e997"><code>374460e</code></a>
add optional disablement of symlink validation (<a
href="https://redirect.github.com/mafintosh/tar-fs/issues/119">#119</a>)</li>
<li><a
href="5bfe6dfb9d"><code>5bfe6df</code></a>
3.0.10</li>
<li><a
href="63e12f9474"><code>63e12f9</code></a>
bare support</li>
<li>See full diff in <a
href="https://github.com/mafintosh/tar-fs/compare/v3.0.9...v3.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tar-fs&package-manager=npm_and_yarn&previous-version=3.0.9&new-version=3.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/google/comprehensive-rust/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-27 10:57:27 +02:00
Dmitri Gribenko
4671b3455b docs(style): Reorganize code block and formatting sections (#2928)
- Consolidates all guidance related to code block mechanics under a new
top-level heading, "Code Blocks Mechanics".
- Moves the "Rust Code Formatting" guidance to be a subsection under
this new heading.
- The rest of the former "Rust Code" section is now directly under
"Course Slides".

This restructuring improves the logical flow of the style guide by
grouping all code-related formatting and tooling conventions into a
single, easy-to-find section.
2025-09-24 10:25:01 +02:00
Dmitri Gribenko
a6e18b6866 docs(style): Add Live, Interactive Instruction principle (#2927)
Adds a new pedagogical principle to STYLE.md to formalize the course's
core philosophy of live, interactive instruction.

This principle clarifies the expectation that instructors will interact
with code snippets live, use compiler errors as a teaching tool, and
engage with audience questions dynamically.
2025-09-24 10:08:40 +02:00
Dmitri Gribenko
3cbcd7e0b5 docs(style): Add mdbook and mdbook-course conventions (#2926)
Adds a new section to STYLE.md to document mandatory conventions for
using `mdbook` and the custom `mdbook-course` preprocessor.

This section mandates the use of YAML frontmatter, outline helpers, and
file includes for exercises, and links to the `mdbook-course` README for
more detailed technical explanations.
2025-09-24 10:08:28 +02:00
Dmitri Gribenko
31a8af33a1 docs(gemini): Add kbd tag formatting rule (#2925)
Adds a specific style convention to GEMINI.md for formatting keyboard
key combinations using the `<kbd>` tag.

The required format is `<kbd>Ctrl + S</kbd>`, which is consistent with
existing usage in the course. This rule will be enforced by the AI
assistant to ensure uniformity.
2025-09-24 10:08:19 +02:00
Dmitri Gribenko
a77ea82cde feat(docs): Centralize code block style guide (#2922)
- Moves the canonical documentation for code block annotations and
language identifiers into STYLE.md.
- Removes the redundant, partial documentation from GEMINI.md.
- Updates GEMINI.md to instruct the AI assistant to always refer to
STYLE.md for guidance.

This change makes STYLE.md the single source of truth for all markdown
and code style conventions, ensuring consistency for both human and AI
contributors.
2025-09-23 20:17:00 +02:00