mirror of
https://github.com/google/comprehensive-rust.git
synced 2024-12-15 14:27:50 +02:00
f23aa10d32
15 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
dependabot[bot]
|
e4bd837e59
|
build(deps): bump clap from 4.4.12 to 4.4.16 (#1698)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.12 to 4.4.16. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.4.16</h2> <h2>[4.4.16] - 2024-01-12</h2> <h3>Fixes</h3> <ul> <li>Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color</li> </ul> <h2>v4.4.15</h2> <h2>[4.4.15] - 2024-01-11</h2> <h3>Fixes</h3> <ul> <li>Improve error for <code>args_conflicts_with_subcommands</code></li> <li>Ensure we error for <code>args_conflicts_with_subcommands</code> when using subcommand short and long flags</li> </ul> <h2>v4.4.14</h2> <h2>[4.4.14] - 2024-01-08</h2> <h3>Documentation</h3> <ul> <li>Fix <code>find</code> cookbook entry to allow repeats of flags/options</li> </ul> <h3>Features</h3> <ul> <li>Allow <code>num_args(0)</code> on options which allows making them emulate being a flag for position-tracking flags</li> </ul> <h2>v4.4.13</h2> <h2>[4.4.13] - 2024-01-04</h2> <h3>Documentation</h3> <ul> <li>Fix link to structopt migration guide</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.16] - 2024-01-12</h2> <h3>Fixes</h3> <ul> <li>Ensure invalid escape sequences in user-defined strings are correctly stripped when terminal doesn't support color</li> </ul> <h2>[4.4.15] - 2024-01-11</h2> <h3>Fixes</h3> <ul> <li>Improve error for <code>args_conflicts_with_subcommands</code></li> <li>Ensure we error for <code>args_conflicts_with_subcommands</code> when using subcommand short and long flags</li> </ul> <h2>[4.4.14] - 2024-01-08</h2> <h3>Documentation</h3> <ul> <li>Fix <code>find</code> cookbook entry to allow repeats of flags/options</li> </ul> <h3>Features</h3> <ul> <li>Allow <code>num_args(0)</code> on options which allows making them emulate being a flag for position-tracking flags</li> </ul> <h2>[4.4.13] - 2024-01-04</h2> <h3>Documentation</h3> <ul> <li>Fix link to structopt migration guide</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
Dustin J. Mitchell
|
4c0833a22e
|
Comment PRs with updated schedule information (#1576)
This adds a GH action to add a comment to every PR giving the updated course schedule with the PR merged. To accomplish this, I broke `mdbook-course` into a library and two binaries, allowing the mdbook content to be loaded dynamically outside of an `mdbook build` invocation. I think this is a net benefit, but possible improvements include: * diffing the "before" and "after" schedules and only making the comment when those are not the same (or replacing the comment with "no schedule changes") * including per-segment timing behind `<details>` (with a few minutes effort I couldn't get this to play nicely with the markdown lists) --------- Co-authored-by: Martin Geisler <mgeisler@google.com> |
||
dependabot[bot]
|
041babdb7c
|
build(deps): bump serde_json from 1.0.109 to 1.0.111 (#1668)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.109 to 1.0.111. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.111</h2> <ul> <li>Improve floating point parsing performance on loongarch64 (<a href="https://redirect.github.com/serde-rs/json/issues/1100">#1100</a>, thanks <a href="https://github.com/heiher"><code>@heiher</code></a>)</li> </ul> <h2>v1.0.110</h2> <ul> <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
dependabot[bot]
|
d5d7d5d814
|
build(deps): bump serde from 1.0.194 to 1.0.195 (#1671)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.194 to 1.0.195. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.195</h2> <ul> <li>Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning (<a href="https://redirect.github.com/serde-rs/serde/issues/2671">#2671</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
dependabot[bot]
|
d4dc1935e2
|
build(deps): bump anyhow from 1.0.76 to 1.0.79 (#1653)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.76 to 1.0.79. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p> <blockquote> <h2>1.0.79</h2> <ul> <li>Work around improperly cached build script result by sccache (<a href="https://redirect.github.com/dtolnay/anyhow/issues/340">#340</a>)</li> </ul> <h2>1.0.78</h2> <ul> <li>Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain (<a href="https://redirect.github.com/dtolnay/anyhow/issues/337">#337</a>)</li> </ul> <h2>1.0.77</h2> <ul> <li>Make <code>anyhow::Error::backtrace</code> available on stable Rust compilers 1.65+ (<a href="https://redirect.github.com/dtolnay/anyhow/issues/293">#293</a>, thanks <a href="https://github.com/LukasKalbertodt"><code>@LukasKalbertodt</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
dependabot[bot]
|
4f849b3c63
|
build(deps): bump serde_json from 1.0.108 to 1.0.109 (#1632)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.108 to 1.0.109. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.109</h2> <ul> <li>Documentation improvements</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
dependabot[bot]
|
f2635858d2
|
build(deps): bump clap from 4.4.11 to 4.4.12 (#1631)
Bumps [clap](https://github.com/clap-rs/clap) from 4.4.11 to 4.4.12. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.4.12</h2> <h2>[4.4.12] - 2023-12-28</h2> <h3>Performance</h3> <ul> <li>Only ask <code>TypedValueParser</code> for possible values if needed</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.4.12] - 2023-12-28</h2> <h3>Performance</h3> <ul> <li>Only ask <code>TypedValueParser</code> for possible values if needed</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
Martin Geisler
|
c9f66fd425
|
Format all Markdown files with dprint (#1157)
This is the result of running `dprint fmt` after removing `src/` from the list of excluded directories. This also reformats the Rust code: we might want to tweak this a bit in the future since some of the changes removes the hand-formatting. Of course, this formatting can be seen as a mis-feature, so maybe this is good overall. Thanks to mdbook-i18n-helpers 0.2, the POT file is nearly unchanged after this, meaning that all existing translations remain valid! A few messages were changed because of stray whitespace characters: msgid "" "Slices always borrow from another object. In this example, `a` has to remain " -"'alive' (in scope) for at least as long as our slice. " +"'alive' (in scope) for at least as long as our slice." msgstr "" The formatting is enforced in CI and we will have to see how annoying this is in practice for the many contributors. If it becomes annoying, we should look into fixing dprint/check#11 so that `dprint` can annotate the lines that need fixing directly, then I think we can consider more strict formatting checks. I added more customization to `rustfmt.toml`. This is to better emulate the dense style used in the course: - `max_width = 85` allows lines to take up the full width available in our code blocks (when taking margins and the line numbers into account). - `wrap_comments = true` ensures that we don't show very long comments in the code examples. I edited some comments to shorten them and avoid unnecessary line breaks — please trim other unnecessarily long comments when you see them! Remember we're writing code for slides 😄 - `use_small_heuristics = "Max"` allows for things like struct literals and if-statements to take up the full line width configured above. The formatting settings apply to all our Rust code right now — I think we could improve this with https://github.com/dprint/dprint/issues/711 which lets us add per-directory `dprint` configuration files. However, the `inherit: true` setting is not yet implemented (as far as I can tell), so a nested configuration file will have to copy most or all of the top-level file. |
||
Martin Geisler
|
97b18e8538
|
mdbook-course: Make printing summary optional (#1562)
There is now a new “verbose” setting which can be used to print the summary when desired. |
||
Dustin J. Mitchell
|
1fa6b7438b
|
Do not include timing info in sub-chapters of slides (#1538)
Timing information is for a slide as a whole, so we use a sentence like "This slide and its sub-slides should take about 15 minutes" in the first chapter in the slide. Subsequent chapters in the same slide do not need timing information. Fixes #1552. |
||
Dustin J. Mitchell
|
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. |
||
Martin Geisler
|
3997a7d874
|
Handle a missing "Fundamentals" course (#1509)
We need to work with translations which haven't yet been updated to use frontmatter. |
||
Dustin J. Mitchell
|
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> |
||
Martin Geisler
|
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. |
||
Dustin J. Mitchell
|
4815264e2d
|
Add mdbook-course to handle parsing frontmatter (#1224)
In v2 of the course, I'd like to include an estimate of the time to be spent on each segment in the Markdown file. I think a good place for such metadata is in the frontmatter. For review purposes, though, I just want to display that information. So, this is a start at a new mdbook preprocessor that just separates out the frontmatter and includes it in a `<pre>` block. Eventually, I'd like to parse it and put the time in the speaker notes. --------- Co-authored-by: Martin Geisler <martin@geisler.net> |