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

Title-casing in section titles (#1557)

Fixes https://github.com/google/comprehensive-rust/issues/1552
This commit is contained in:
Lukasz Anforowicz 2023-12-07 18:06:18 -08:00 committed by GitHub
parent 1ec2e8db9e
commit 89b41555eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 49 additions and 49 deletions

View File

@ -36,7 +36,7 @@
- [Blocks and Scopes](control-flow-basics/blocks-and-scopes.md) - [Blocks and Scopes](control-flow-basics/blocks-and-scopes.md)
- [Functions](control-flow-basics/functions.md) - [Functions](control-flow-basics/functions.md)
- [Macros](control-flow-basics/macros.md) - [Macros](control-flow-basics/macros.md)
- [Exercise: Collatz conjecture](control-flow-basics/exercise.md) - [Exercise: Collatz Sequence](control-flow-basics/exercise.md)
- [Solution](control-flow-basics/solution.md) - [Solution](control-flow-basics/solution.md)
# Day 1: Afternoon # Day 1: Afternoon
@ -82,7 +82,7 @@
- [Solution](methods-and-traits/solution.md) - [Solution](methods-and-traits/solution.md)
- [Generics](generics.md) - [Generics](generics.md)
- [Generic Functions](generics/generic-functions.md) - [Generic Functions](generics/generic-functions.md)
- [Generic Data types](generics/generic-data.md) - [Generic Data Types](generics/generic-data.md)
- [Trait Bounds](generics/trait-bounds.md) - [Trait Bounds](generics/trait-bounds.md)
- [`impl Trait`](generics/impl-trait.md) - [`impl Trait`](generics/impl-trait.md)
- [Exercise: Generic `min`](generics/exercise.md) - [Exercise: Generic `min`](generics/exercise.md)
@ -121,7 +121,7 @@
- [Review of Program Memory](memory-management/review.md) - [Review of Program Memory](memory-management/review.md)
- [Approaches to Memory Management](memory-management/approaches.md) - [Approaches to Memory Management](memory-management/approaches.md)
- [Ownership](memory-management/ownership.md) - [Ownership](memory-management/ownership.md)
- [Move semantics](memory-management/move.md) - [Move Semantics](memory-management/move.md)
- [`Clone`](memory-management/clone.md) - [`Clone`](memory-management/clone.md)
- [Copy Types](memory-management/copy-types.md) - [Copy Types](memory-management/copy-types.md)
- [`Drop`](memory-management/drop.md) - [`Drop`](memory-management/drop.md)
@ -175,7 +175,7 @@
- [Useful Crates](testing/useful-crates.md) - [Useful Crates](testing/useful-crates.md)
- [GoogleTest](testing/googletest.md) - [GoogleTest](testing/googletest.md)
- [Mocking](testing/mocking.md) - [Mocking](testing/mocking.md)
- [Compiler lints and Clippy](testing/lints.md) - [Compiler Lints and Clippy](testing/lints.md)
- [Exercise: Luhn Algorithm](testing/exercise.md) - [Exercise: Luhn Algorithm](testing/exercise.md)
- [Solution](testing/solution.md) - [Solution](testing/solution.md)
@ -184,7 +184,7 @@
- [Welcome](welcome-day-4-afternoon.md) - [Welcome](welcome-day-4-afternoon.md)
- [Error Handling](error-handling.md) - [Error Handling](error-handling.md)
- [Panics](error-handling/panics.md) - [Panics](error-handling/panics.md)
- [Try operator](error-handling/try.md) - [Try Operator](error-handling/try.md)
- [Try Conversions](error-handling/try-conversions.md) - [Try Conversions](error-handling/try-conversions.md)
- [`Error` Trait](error-handling/error.md) - [`Error` Trait](error-handling/error.md)
- [`thiserror` and `anyhow`](error-handling/thiserror-and-anyhow.md) - [`thiserror` and `anyhow`](error-handling/thiserror-and-anyhow.md)
@ -245,39 +245,39 @@
- [Welcome](chromium.md) - [Welcome](chromium.md)
- [Setup](chromium/setup.md) - [Setup](chromium/setup.md)
- [Comparing Chromium and Cargo ecosystems](chromium/cargo.md) - [Comparing Chromium and Cargo Ecosystems](chromium/cargo.md)
- [Policy](chromium/policy.md) - [Policy](chromium/policy.md)
- [Build Rules](chromium/build-rules.md) - [Build Rules](chromium/build-rules.md)
- [Unsafe code](chromium/build-rules/unsafe.md) - [Unsafe Code](chromium/build-rules/unsafe.md)
- [Depending on Rust code from Chromium C++](chromium/build-rules/depending.md) - [Depending on Rust Code from Chromium C++](chromium/build-rules/depending.md)
- [Visual Studio code](chromium/build-rules/vscode.md) - [Visual Studio Code](chromium/build-rules/vscode.md)
- [Exercise](exercises/chromium/build-rules.md) - [Exercise](exercises/chromium/build-rules.md)
- [Testing](chromium/testing.md) - [Testing](chromium/testing.md)
- [`rust_gtest_interop` library](chromium/testing/rust-gtest-interop.md) - [`rust_gtest_interop` Library](chromium/testing/rust-gtest-interop.md)
- [GN rules for Rust tests](chromium/testing/build-gn.md) - [GN Rules for Rust Tests](chromium/testing/build-gn.md)
- [Exercise](exercises/chromium/testing.md) - [Exercise](exercises/chromium/testing.md)
- [Interoperability with C++](chromium/interoperability-with-cpp.md) - [Interoperability with C++](chromium/interoperability-with-cpp.md)
- [Example bindings](chromium/interoperability-with-cpp/example-bindings.md) - [Example Bindings](chromium/interoperability-with-cpp/example-bindings.md)
- [Limitations of CXX](chromium/interoperability-with-cpp/limitations-of-cxx.md) - [Limitations of CXX](chromium/interoperability-with-cpp/limitations-of-cxx.md)
- [CXX error handling](chromium/interoperability-with-cpp/error-handling.md) - [CXX Error Handling](chromium/interoperability-with-cpp/error-handling.md)
- [Error handling: QR example](chromium/interoperability-with-cpp/error-handling-qr.md) - [Error Handling: QR Example](chromium/interoperability-with-cpp/error-handling-qr.md)
- [Error handling: PNG example](chromium/interoperability-with-cpp/error-handling-png.md) - [Error Handling: PNG Example](chromium/interoperability-with-cpp/error-handling-png.md)
- [Using CXX in Chromium](chromium/interoperability-with-cpp/using-cxx-in-chromium.md) - [Using CXX in Chromium](chromium/interoperability-with-cpp/using-cxx-in-chromium.md)
- [Exercise](exercises/chromium/interoperability-with-cpp.md) - [Exercise](exercises/chromium/interoperability-with-cpp.md)
- [Adding third party crates](chromium/adding-third-party-crates.md) - [Adding Third Party Crates](chromium/adding-third-party-crates.md)
- [Configuring Cargo.toml](chromium/adding-third-party-crates/configuring-cargo-toml.md) - [Configuring Cargo.toml](chromium/adding-third-party-crates/configuring-cargo-toml.md)
- [Configuring gnrt_config.toml](chromium/adding-third-party-crates/configuring-gnrt-config-toml.md) - [Configuring `gnrt_config.toml`](chromium/adding-third-party-crates/configuring-gnrt-config-toml.md)
- [Downloading crates](chromium/adding-third-party-crates/downloading-crates.md) - [Downloading Crates](chromium/adding-third-party-crates/downloading-crates.md)
- [Generating gn build rules](chromium/adding-third-party-crates/generating-gn-build-rules.md) - [Generating `gn` Build Rules](chromium/adding-third-party-crates/generating-gn-build-rules.md)
- [Resolving problems](chromium/adding-third-party-crates/resolving-problems.md) - [Resolving Problems](chromium/adding-third-party-crates/resolving-problems.md)
- [Build scripts which generate code](chromium/adding-third-party-crates/resolving-problems/build-scripts-which-generate-code.md) - [Build Scripts Which Generate Code](chromium/adding-third-party-crates/resolving-problems/build-scripts-which-generate-code.md)
- [Build scripts which build C++ or take arbitrary actions](chromium/adding-third-party-crates/resolving-problems/build-scripts-which-take-arbitrary-actions.md) - [Build Scripts Which Build C++ or Take Arbitrary Actions](chromium/adding-third-party-crates/resolving-problems/build-scripts-which-take-arbitrary-actions.md)
- [Depending on a crate](chromium/adding-third-party-crates/depending-on-a-crate.md) - [Depending on a Crate](chromium/adding-third-party-crates/depending-on-a-crate.md)
- [Reviews and audits](chromium/adding-third-party-crates/reviews-and-audits.md) - [Reviews and Audits](chromium/adding-third-party-crates/reviews-and-audits.md)
- [Checking into Chromium source code](chromium/adding-third-party-crates/checking-in.md) - [Checking into Chromium Source Code](chromium/adding-third-party-crates/checking-in.md)
- [Keeping crates up to date](chromium/adding-third-party-crates/keeping-up-to-date.md) - [Keeping Crates Up to Date](chromium/adding-third-party-crates/keeping-up-to-date.md)
- [Exercise](exercises/chromium/third-party.md) - [Exercise](exercises/chromium/third-party.md)
- [Bringing it together - Exercise](exercises/chromium/bringing-it-together.md) - [Bringing It Together - Exercise](exercises/chromium/bringing-it-together.md)
- [Exercise Solutions](exercises/chromium/solutions.md) - [Exercise Solutions](exercises/chromium/solutions.md)

View File

@ -1,4 +1,4 @@
# Adding third party crates # Adding Third Party Crates
Rust libraries are called "crates" and are found at [crates.io][0]. It's *very Rust libraries are called "crates" and are found at [crates.io][0]. It's *very
easy* for Rust crates to depend upon one another. So they do! easy* for Rust crates to depend upon one another. So they do!

View File

@ -1,4 +1,4 @@
# Checking crates into Chromium source code # Checking Crates into Chromium Source Code
`git status` should reveal: `git status` should reveal:
* Crate code in `//third_party/rust/chromium_crates_io` * Crate code in `//third_party/rust/chromium_crates_io`

View File

@ -1,4 +1,4 @@
# Depending on a crate # Depending on a Crate
Once you've added a third-party crate and generated build rules, Once you've added a third-party crate and generated build rules,
depending on a crate is simple. Find your `rust_static_library` target, depending on a crate is simple. Find your `rust_static_library` target,

View File

@ -1,4 +1,4 @@
# Downloading crates # Downloading Crates
A tool called `gnrt` knows how to download crates and how to generate `BUILD.gn` A tool called `gnrt` knows how to download crates and how to generate `BUILD.gn`
rules. rules.

View File

@ -1,4 +1,4 @@
# Generating `gn` build rules # Generating `gn` Build Rules
Once you've downloaded the crate, generate the `BUILD.gn` files like this: Once you've downloaded the crate, generate the `BUILD.gn` files like this:

View File

@ -1,4 +1,4 @@
# Keeping crates up to date # Keeping Crates Up to Date
As the OWNER of any third party Chromium dependency, you are As the OWNER of any third party Chromium dependency, you are
[expected to keep it up to date with any security fixes][0]. It is hoped [expected to keep it up to date with any security fixes][0]. It is hoped

View File

@ -1,4 +1,4 @@
# Resolving problems # Resolving Problems
If your build fails, it may be because of a `build.rs`: programs which do arbitrary If your build fails, it may be because of a `build.rs`: programs which do arbitrary
things at build time. This is fundamentally at odds with the design of `gn` things at build time. This is fundamentally at odds with the design of `gn`

View File

@ -1,4 +1,4 @@
# Build scripts which generate code # Build Scripts Which Generate Code
If `ninja` complains about missing files, check the `build.rs` to see if it If `ninja` complains about missing files, check the `build.rs` to see if it
writes source code files. writes source code files.

View File

@ -1,4 +1,4 @@
# Build scripts which build C++ or take arbitrary actions # Build Scripts Which Build C++ or Take Arbitrary Actions
Some crates use the [`cc`][1] crate to build and link C/C++ libraries. Some crates use the [`cc`][1] crate to build and link C/C++ libraries.
Other crates parse C/C++ using [`bindgen`][2] within their build scripts. Other crates parse C/C++ using [`bindgen`][2] within their build scripts.

View File

@ -1,4 +1,4 @@
# Auditing third party crates # Auditing Third Party Crates
Adding new libraries is subject to Chromium's standard [policies][0], but of Adding new libraries is subject to Chromium's standard [policies][0], but of
course also subject to security review. As you may be bringing in not just a single course also subject to security review. As you may be bringing in not just a single

View File

@ -1,4 +1,4 @@
# Depending on Rust code from Chromium C++ # Depending on Rust Code from Chromium C++
Simply add the above target to the `deps` of some Chromium C++ target. Simply add the above target to the `deps` of some Chromium C++ target.

View File

@ -1,4 +1,4 @@
# Including `unsafe` Rust code # Including `unsafe` Rust Code
Unsafe Rust code is forbidden in `rust_static_library` by default --- it won't Unsafe Rust code is forbidden in `rust_static_library` by default --- it won't
compile. If you need unsafe Rust code, add `allow_unsafe = true` to the compile. If you need unsafe Rust code, add `allow_unsafe = true` to the

View File

@ -1,4 +1,4 @@
# Visual Studio code # Visual Studio Code
Types are elided in Rust code, which makes a good IDE even more useful than Types are elided in Rust code, which makes a good IDE even more useful than
for C++. Visual Studio code works well for Rust in Chromium. To use it, for C++. Visual Studio code works well for Rust in Chromium. To use it,

View File

@ -1,4 +1,4 @@
# Comparing Chromium and Cargo ecosystems # Comparing Chromium and Cargo Ecosystems
Rust community typically uses `cargo` and libraries from [crates.io][2]. Rust community typically uses `cargo` and libraries from [crates.io][2].
Chromium is built using `gn` and `ninja` and a curated set of dependencies. Chromium is built using `gn` and `ninja` and a curated set of dependencies.

View File

@ -1,4 +1,4 @@
# CXX error handling: PNG example # CXX Error Handling: PNG Example
A prototype of a PNG decoder illustrates what can be done when the successful A prototype of a PNG decoder illustrates what can be done when the successful
result cannot be passed across the FFI boundary: result cannot be passed across the FFI boundary:

View File

@ -1,4 +1,4 @@
# CXX error handling: QR example # CXX Error Handling: QR Example
The QR code generator is [an example][0] where a boolean is used to communicate The QR code generator is [an example][0] where a boolean is used to communicate
success vs failure, and where the successful result can be passed across the FFI success vs failure, and where the successful result can be passed across the FFI

View File

@ -1,4 +1,4 @@
# CXX error handling # CXX Error Handling
CXX's [support for `Result<T,E>`][0] relies on C++ exceptions, so we can't use CXX's [support for `Result<T,E>`][0] relies on C++ exceptions, so we can't use
that in Chromium. Alternatives: that in Chromium. Alternatives:

View File

@ -1,4 +1,4 @@
# Example bindings # Example Bindings
CXX requires that the whole C++/Rust boundary is declared in `cxx::bridge` CXX requires that the whole C++/Rust boundary is declared in `cxx::bridge`
modules inside `.rs` source code. modules inside `.rs` source code.

View File

@ -1,4 +1,4 @@
# GN rules for Rust tests # GN Rules for Rust Tests
The simplest way to build Rust `gtest` tests is to add them to an existing test The simplest way to build Rust `gtest` tests is to add them to an existing test
binary that already contains tests authored in C++. For example: binary that already contains tests authored in C++. For example:

View File

@ -1,4 +1,4 @@
# `rust_gtest_interop` library # `rust_gtest_interop` Library
The [`rust_gtest_interop`][0] library provides a way to: The [`rust_gtest_interop`][0] library provides a way to:

View File

@ -1,9 +1,9 @@
# Bringing it together --- Exercise # Bringing It Together --- Exercise
In this exercise, you're going to add a whole new Chromium feature, bringing In this exercise, you're going to add a whole new Chromium feature, bringing
together everything you already learned. together everything you already learned.
## The brief from Product Management ## The Brief from Product Management
A community of pixies has been discovered living in a remote rainforest. A community of pixies has been discovered living in a remote rainforest.
It's important that we get Chromium for Pixies delivered to them as soon It's important that we get Chromium for Pixies delivered to them as soon