Skip to content

Commit 65c6789

Browse files
authored
Merge pull request #391 from damoasda/update-2025-03
Update 2025 03
2 parents 4593e85 + 9dcce82 commit 65c6789

File tree

110 files changed

+3755
-3589
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+3755
-3589
lines changed

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Die Programmiersprache Rust
22

3-
Das Buch „Die Programmiersprache Rust“ ist eine deutsche Gemeinschafts-Übersetzung
4-
des [offiziellen Rust-Buchs][rustbook-en].
5-
Es enthält alle Änderungen des englischen Originals bis einschließlich zum **30.11.2024**.
3+
Das Buch „Die Programmiersprache Rust“ ist eine deutsche
4+
Gemeinschafts-Übersetzung des [offiziellen Rust-Buchs][rustbook-en]. Es enthält
5+
alle Änderungen des englischen Originals bis einschließlich zum **21.03.2025**.
66

77
## [📖 > Hier online lesen < 📖][rustbook-de]
88

@@ -14,7 +14,7 @@ Die deutsche Übersetzung gibt es auch als **Taschenbuch** und als **E-Book**:
1414

1515
Schritte zum Bauen und Anschauen des Buchs:
1616

17-
1. mdBook installieren: `cargo install mdbook --vers "^0.4.43"`
17+
1. mdBook installieren: `cargo install mdbook --vers "^0.4.47"`
1818
2. Live-Vorschau-Server starten: `mdbook serve`
1919
3. http://localhost:3000/ im Browser öffnen
2020

@@ -28,8 +28,7 @@ Issue. Bitte beachte die [Übersetzungskonventionen][konventionen].
2828

2929
Für jeden Beitrag zu diesem Buch gibt es das aktuelle E-Book kostenlos für den
3030
persönlichen Gebrauch. Bei Interesse bitte eine E-Mail an [damoasda][damoasda]
31-
senden, dann schicke ich den Download-Link. Das Angebot gilt sogar rückwirkend
32-
für alle, die zum Buch beigetragen haben.
31+
senden, dann schicke ich den Download-Link.
3332

3433
[damoasda]: https://github.com/damoasda
3534
[konventionen]: https://github.com/rust-lang-de/rustbook-de/wiki/%C3%9Cbersetzungskonventionen

src/SUMMARY.md

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -7,137 +7,137 @@
77
## Erste Schritte
88

99
- [Erste Schritte](ch01-00-getting-started.md)
10-
- [Installation](ch01-01-installation.md)
11-
- [Hallo Welt](ch01-02-hello-world.md)
12-
- [Hallo Cargo](ch01-03-hello-cargo.md)
10+
- [Installation](ch01-01-installation.md)
11+
- [Hallo Welt](ch01-02-hello-world.md)
12+
- [Hallo Cargo](ch01-03-hello-cargo.md)
1313

1414
- [Ein Ratespiel programmieren](ch02-00-guessing-game-tutorial.md)
1515

1616
- [Allgemeine Programmierkonzepte](ch03-00-common-programming-concepts.md)
17-
- [Variablen und Veränderbarkeit](ch03-01-variables-and-mutability.md)
18-
- [Datentypen](ch03-02-data-types.md)
19-
- [Funktionen](ch03-03-how-functions-work.md)
20-
- [Kommentare](ch03-04-comments.md)
21-
- [Kontrollfluss](ch03-05-control-flow.md)
17+
- [Variablen und Veränderbarkeit](ch03-01-variables-and-mutability.md)
18+
- [Datentypen](ch03-02-data-types.md)
19+
- [Funktionen](ch03-03-how-functions-work.md)
20+
- [Kommentare](ch03-04-comments.md)
21+
- [Kontrollfluss](ch03-05-control-flow.md)
2222

2323
- [Eigentümerschaft (ownership) verstehen](ch04-00-understanding-ownership.md)
24-
- [Was ist Eigentümerschaft (ownership)?](ch04-01-what-is-ownership.md)
25-
- [Referenzen und Ausleihen (borrowing)](ch04-02-references-and-borrowing.md)
26-
- [Der Anteilstyp (slice)](ch04-03-slices.md)
24+
- [Was ist Eigentümerschaft (ownership)?](ch04-01-what-is-ownership.md)
25+
- [Referenzen und Ausleihen (borrowing)](ch04-02-references-and-borrowing.md)
26+
- [Der Anteilstyp (slice)](ch04-03-slices.md)
2727

2828
- [Strukturen (structs) für zusammenhängende Daten verwenden](ch05-00-structs.md)
29-
- [Strukturen (structs) definieren und instanziieren](ch05-01-defining-structs.md)
30-
- [Beispielprogramm mit Strukturen (structs)](ch05-02-example-structs.md)
31-
- [Methodensyntax](ch05-03-method-syntax.md)
29+
- [Strukturen (structs) definieren und instanziieren](ch05-01-defining-structs.md)
30+
- [Beispielprogramm mit Strukturen (structs)](ch05-02-example-structs.md)
31+
- [Methodensyntax](ch05-03-method-syntax.md)
3232

3333
- [Aufzählungen (enums) und Musterabgleich (pattern matching)](ch06-00-enums.md)
34-
- [Eine Aufzählung (enum) definieren](ch06-01-defining-an-enum.md)
35-
- [Das Kontrollflusskonstrukt `match`](ch06-02-match.md)
36-
- [Prägnanter Kontrollfluss mit `if let`](ch06-03-if-let.md)
34+
- [Eine Aufzählung (enum) definieren](ch06-01-defining-an-enum.md)
35+
- [Das Kontrollflusskonstrukt `match`](ch06-02-match.md)
36+
- [Prägnanter Kontrollfluss mit `if let` und `let else`](ch06-03-if-let.md)
3737

3838
## Grundlegende Sprachelemente
3939

4040
- [Wachsende Projekte verwalten mit Paketen (packages), Kisten (crates) und Modulen](ch07-00-managing-growing-projects-with-packages-crates-and-modules.md)
41-
- [Pakete (packages) und Kisten (crates)](ch07-01-packages-and-crates.md)
42-
- [Mit Modulen den Kontrollumfang und Datenschutz steuern](ch07-02-defining-modules-to-control-scope-and-privacy.md)
43-
- [Mit Pfaden auf ein Element im Modulbaum verweisen](ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md)
44-
- [Pfade in den Gültigkeitsbereich bringen mit dem Schlüsselwort `use`](ch07-04-bringing-paths-into-scope-with-the-use-keyword.md)
45-
- [Module in verschiedene Dateien aufteilen](ch07-05-separating-modules-into-different-files.md)
41+
- [Pakete (packages) und Kisten (crates)](ch07-01-packages-and-crates.md)
42+
- [Mit Modulen den Kontrollumfang und Datenschutz steuern](ch07-02-defining-modules-to-control-scope-and-privacy.md)
43+
- [Mit Pfaden auf ein Element im Modulbaum verweisen](ch07-03-paths-for-referring-to-an-item-in-the-module-tree.md)
44+
- [Pfade in den Gültigkeitsbereich bringen mit dem Schlüsselwort `use`](ch07-04-bringing-paths-into-scope-with-the-use-keyword.md)
45+
- [Module in verschiedene Dateien aufteilen](ch07-05-separating-modules-into-different-files.md)
4646

4747
- [Allgemeine Kollektionen](ch08-00-common-collections.md)
48-
- [Wertlisten in Vektoren ablegen](ch08-01-vectors.md)
49-
- [UTF-8-kodierten Text in Zeichenketten (strings) ablegen](ch08-02-strings.md)
50-
- [Schlüssel mit zugehörigen Werten in Hashtabellen ablegen](ch08-03-hash-maps.md)
48+
- [Wertlisten in Vektoren ablegen](ch08-01-vectors.md)
49+
- [UTF-8-kodierten Text in Zeichenketten (strings) ablegen](ch08-02-strings.md)
50+
- [Schlüssel mit zugehörigen Werten in Hashtabellen ablegen](ch08-03-hash-maps.md)
5151

5252
- [Fehlerbehandlung](ch09-00-error-handling.md)
53-
- [Nicht behebbare Fehler mit `panic!`](ch09-01-unrecoverable-errors-with-panic.md)
54-
- [Behebbare Fehler mit `Result`](ch09-02-recoverable-errors-with-result.md)
55-
- [Wann `panic!` aufrufen und wann nicht?](ch09-03-to-panic-or-not-to-panic.md)
53+
- [Nicht behebbare Fehler mit `panic!`](ch09-01-unrecoverable-errors-with-panic.md)
54+
- [Behebbare Fehler mit `Result`](ch09-02-recoverable-errors-with-result.md)
55+
- [Wann `panic!` aufrufen und wann nicht?](ch09-03-to-panic-or-not-to-panic.md)
5656

5757
- [Generische Typen, Merkmale (traits) und Lebensdauer](ch10-00-generics.md)
58-
- [Generische Datentypen](ch10-01-syntax.md)
59-
- [Merkmale (traits): Gemeinsames Verhalten definieren](ch10-02-traits.md)
60-
- [Referenzen validieren mit Lebensdauern](ch10-03-lifetime-syntax.md)
58+
- [Generische Datentypen](ch10-01-syntax.md)
59+
- [Merkmale (traits): Gemeinsames Verhalten definieren](ch10-02-traits.md)
60+
- [Referenzen validieren mit Lebensdauern](ch10-03-lifetime-syntax.md)
6161

6262
- [Automatisierte Tests schreiben](ch11-00-testing.md)
63-
- [Tests schreiben](ch11-01-writing-tests.md)
64-
- [Steuern wie Tests ausgeführt werden](ch11-02-running-tests.md)
65-
- [Testverwaltung](ch11-03-test-organization.md)
63+
- [Tests schreiben](ch11-01-writing-tests.md)
64+
- [Steuern wie Tests ausgeführt werden](ch11-02-running-tests.md)
65+
- [Testverwaltung](ch11-03-test-organization.md)
6666

6767
- [Ein E/A-Projekt: Ein Kommandozeilenprogramm erstellen](ch12-00-an-io-project.md)
68-
- [Kommandozeilenargumente entgegennehmen](ch12-01-accepting-command-line-arguments.md)
69-
- [Eine Datei einlesen](ch12-02-reading-a-file.md)
70-
- [Refaktorierung um die Modularität und Fehlerbehandlung zu verbessern](ch12-03-improving-error-handling-and-modularity.md)
71-
- [Bibliotheksfunktionalität mit testgetriebener Entwicklung erstellen](ch12-04-testing-the-librarys-functionality.md)
72-
- [Mit Umgebungsvariablen arbeiten](ch12-05-working-with-environment-variables.md)
73-
- [Fehlermeldungen in die Standardfehlerausgabe anstatt der Standardausgabe schreiben](ch12-06-writing-to-stderr-instead-of-stdout.md)
68+
- [Kommandozeilenargumente entgegennehmen](ch12-01-accepting-command-line-arguments.md)
69+
- [Eine Datei einlesen](ch12-02-reading-a-file.md)
70+
- [Refaktorierung um die Modularität und Fehlerbehandlung zu verbessern](ch12-03-improving-error-handling-and-modularity.md)
71+
- [Bibliotheksfunktionalität mit testgetriebener Entwicklung erstellen](ch12-04-testing-the-librarys-functionality.md)
72+
- [Mit Umgebungsvariablen arbeiten](ch12-05-working-with-environment-variables.md)
73+
- [Fehlermeldungen in die Standardfehlerausgabe anstatt der Standardausgabe schreiben](ch12-06-writing-to-stderr-instead-of-stdout.md)
7474

7575
## Denken in Rust
7676

7777
- [Funktionale Sprachelemente: Iteratoren und Funktionsabschlüsse (closures)](ch13-00-functional-features.md)
78-
- [Funktionsabschlüsse (closures): Anonyme Funktionen, die ihre Umgebung erfassen](ch13-01-closures.md)
79-
- [Eine Reihe von Elementen verarbeiten mit Iteratoren](ch13-02-iterators.md)
80-
- [Unser E/A-Projekt verbessern](ch13-03-improving-our-io-project.md)
81-
- [Performanzvergleich: Schleifen vs. Iteratoren](ch13-04-performance.md)
78+
- [Funktionsabschlüsse (closures): Anonyme Funktionen, die ihre Umgebung erfassen](ch13-01-closures.md)
79+
- [Eine Reihe von Elementen verarbeiten mit Iteratoren](ch13-02-iterators.md)
80+
- [Unser E/A-Projekt verbessern](ch13-03-improving-our-io-project.md)
81+
- [Performanzvergleich: Schleifen vs. Iteratoren](ch13-04-performance.md)
8282

8383
- [Mehr über Cargo und Crates.io](ch14-00-more-about-cargo.md)
84-
- [Bauvorgang anpassen mit Freigabeprofilen (release profiles)](ch14-01-release-profiles.md)
85-
- [Kisten (crate) auf crates.io veröffentlichen](ch14-02-publishing-to-crates-io.md)
86-
- [Cargo-Arbeitsbereiche](ch14-03-cargo-workspaces.md)
87-
- [Installieren von Binärdateien mit `cargo install`](ch14-04-installing-binaries.md)
88-
- [Cargo um benutzerdefinierte Befehle erweitern](ch14-05-extending-cargo.md)
84+
- [Bauvorgang anpassen mit Freigabeprofilen (release profiles)](ch14-01-release-profiles.md)
85+
- [Kisten (crate) auf crates.io veröffentlichen](ch14-02-publishing-to-crates-io.md)
86+
- [Cargo-Arbeitsbereiche](ch14-03-cargo-workspaces.md)
87+
- [Installieren von Binärdateien mit `cargo install`](ch14-04-installing-binaries.md)
88+
- [Cargo um benutzerdefinierte Befehle erweitern](ch14-05-extending-cargo.md)
8989

9090
- [Intelligente Zeiger](ch15-00-smart-pointers.md)
91-
- [Mit `Box<T>` auf Daten im Haldenspeicher zeigen](ch15-01-box.md)
92-
- [Intelligente Zeiger wie normale Referenzen behandeln mit dem Merkmal (trait) `Deref`](ch15-02-deref.md)
93-
- [Programmcode beim Aufräumen ausführen mit dem Merkmal (trait) `Drop`](ch15-03-drop.md)
94-
- [Der referenzzählende intelligente Zeiger `Rc<T>`](ch15-04-rc.md)
95-
- [`RefCell<T>` und das innere Veränderbarkeitsmuster](ch15-05-interior-mutability.md)
96-
- [Referenzzyklen können zu einem Speicherleck führen](ch15-06-reference-cycles.md)
91+
- [Mit `Box<T>` auf Daten im Haldenspeicher zeigen](ch15-01-box.md)
92+
- [Intelligente Zeiger wie normale Referenzen behandeln mit dem Merkmal (trait) `Deref`](ch15-02-deref.md)
93+
- [Programmcode beim Aufräumen ausführen mit dem Merkmal (trait) `Drop`](ch15-03-drop.md)
94+
- [Der referenzzählende intelligente Zeiger `Rc<T>`](ch15-04-rc.md)
95+
- [`RefCell<T>` und das innere Veränderbarkeitsmuster](ch15-05-interior-mutability.md)
96+
- [Referenzzyklen können zu einem Speicherleck führen](ch15-06-reference-cycles.md)
9797

9898
- [Furchtlose Nebenläufigkeit](ch16-00-concurrency.md)
99-
- [Mit Strängen (threads) Programmcode gleichzeitig ausführen](ch16-01-threads.md)
100-
- [Nachrichtenaustausch zwischen Strängen (threads)](ch16-02-message-passing.md)
101-
- [Nebenläufigkeit mit gemeinsamem Zustand](ch16-03-shared-state.md)
102-
- [Erweiterbare Nebenläufigkeit mit den Merkmalen (traits) `Sync` und `Send`](ch16-04-extensible-concurrency-sync-and-send.md)
99+
- [Mit Strängen (threads) Programmcode gleichzeitig ausführen](ch16-01-threads.md)
100+
- [Nachrichtenaustausch zwischen Strängen (threads)](ch16-02-message-passing.md)
101+
- [Nebenläufigkeit mit gemeinsamem Zustand](ch16-03-shared-state.md)
102+
- [Erweiterbare Nebenläufigkeit mit den Merkmalen (traits) `Send` und `Sync`](ch16-04-extensible-concurrency-sync-and-send.md)
103103

104-
- [Async und Await](ch17-00-async-await.md)
104+
- [Grundlagen der asynchronen Programmierung: Async, Await, Futures und Ströme](ch17-00-async-await.md)
105105
- [Futures und die asynchrone Syntax](ch17-01-futures-and-syntax.md)
106-
- [Nebenläufigkeit mit async](ch17-02-concurrency-with-async.md)
106+
- [Anwenden von Nebenläufigkeit mit async](ch17-02-concurrency-with-async.md)
107107
- [Arbeiten mit einer beliebigen Anzahl von Futures](ch17-03-more-futures.md)
108-
- [Ströme (streams)](ch17-04-streams.md)
109-
- [Merkmale für async](ch17-05-traits-for-async.md)
108+
- [Ströme (streams): Abfolge von Futures](ch17-04-streams.md)
109+
- [Ein genauerer Blick auf die Merkmale für Async](ch17-05-traits-for-async.md)
110110
- [Futures, Aufgaben und Stränge](ch17-06-futures-tasks-threads.md)
111111

112-
- [Objektorientierte Sprachelemente von Rust](ch18-00-oop.md)
113-
- [Charakteristiken objektorientierter Sprachen](ch18-01-what-is-oo.md)
114-
- [Merkmalsobjekte (trait objects) die Werte unterschiedlicher Typen erlauben](ch18-02-trait-objects.md)
115-
- [Ein objektorientiertes Entwurfsmuster implementieren](ch18-03-oo-design-patterns.md)
112+
- [Objektorientierte Sprachelemente](ch18-00-oop.md)
113+
- [Charakteristiken objektorientierter Sprachen](ch18-01-what-is-oo.md)
114+
- [Merkmalsobjekte (trait objects) die Werte unterschiedlicher Typen erlauben](ch18-02-trait-objects.md)
115+
- [Ein objektorientiertes Entwurfsmuster implementieren](ch18-03-oo-design-patterns.md)
116116

117117
## Fortgeschrittene Themen
118118

119119
- [Muster (patterns) und Abgleich (matching)](ch19-00-patterns.md)
120-
- [Alle Stellen an denen Muster (patterns) verwendet werden können](ch19-01-all-the-places-for-patterns.md)
121-
- [Abweisbarkeit: Falls ein Muster (pattern) mal nicht passt](ch19-02-refutability.md)
122-
- [Mustersyntax](ch19-03-pattern-syntax.md)
120+
- [Alle Stellen an denen Muster (patterns) verwendet werden können](ch19-01-all-the-places-for-patterns.md)
121+
- [Abweisbarkeit: Falls ein Muster (pattern) mal nicht passt](ch19-02-refutability.md)
122+
- [Mustersyntax](ch19-03-pattern-syntax.md)
123123

124124
- [Fortgeschrittene Sprachelemente](ch20-00-advanced-features.md)
125-
- [Unsicheres (unsafe) Rust](ch20-01-unsafe-rust.md)
126-
- [Fortgeschrittene Merkmale (traits)](ch20-03-advanced-traits.md)
127-
- [Fortgeschrittene Typen](ch20-04-advanced-types.md)
128-
- [Erweiterte Funktionen und Funktionsabschlüsse (closures)](ch20-05-advanced-functions-and-closures.md)
129-
- [Makros](ch20-06-macros.md)
125+
- [Unsicheres (unsafe) Rust](ch20-01-unsafe-rust.md)
126+
- [Fortgeschrittene Merkmale (traits)](ch20-02-advanced-traits.md)
127+
- [Fortgeschrittene Typen](ch20-03-advanced-types.md)
128+
- [Erweiterte Funktionen und Funktionsabschlüsse (closures)](ch20-04-advanced-functions-and-closures.md)
129+
- [Makros](ch20-05-macros.md)
130130

131131
- [Abschlussprojekt: Einen mehrsträngigen (multi-threaded) Webserver erstellen](ch21-00-final-project-a-web-server.md)
132-
- [Einen einsträngigen (single-threaded) Webserver erstellen](ch21-01-single-threaded.md)
133-
- [Unseren einsträngigen (single-threaded) Webserver in einen mehrsträngigen (multi-threaded) Webserver verwandeln](ch21-02-multithreaded.md)
134-
- [Kontrolliertes Beenden und Aufräumen](ch21-03-graceful-shutdown-and-cleanup.md)
132+
- [Einen einsträngigen (single-threaded) Webserver erstellen](ch21-01-single-threaded.md)
133+
- [Unseren einsträngigen (single-threaded) Webserver in einen mehrsträngigen (multi-threaded) Webserver verwandeln](ch21-02-multithreaded.md)
134+
- [Kontrolliertes Beenden und Aufräumen](ch21-03-graceful-shutdown-and-cleanup.md)
135135

136136
- [Anhang](appendix-00.md)
137-
- [A - Schlüsselwörter](appendix-01-keywords.md)
138-
- [B - Operatoren und Symbole](appendix-02-operators.md)
139-
- [C - Ableitbare Merkmale (traits)](appendix-03-derivable-traits.md)
140-
- [D - Nützliche Entwicklungswerkzeuge](appendix-04-useful-development-tools.md)
141-
- [E - Ausgaben](appendix-05-editions.md)
142-
- [F - Übersetzungen des Buchs](appendix-06-translation.md)
143-
- [G - Wie Rust erstellt wird und „nächtliches Rust“](appendix-07-nightly-rust.md)
137+
- [A - Schlüsselwörter](appendix-01-keywords.md)
138+
- [B - Operatoren und Symbole](appendix-02-operators.md)
139+
- [C - Ableitbare Merkmale (traits)](appendix-03-derivable-traits.md)
140+
- [D - Nützliche Entwicklungswerkzeuge](appendix-04-useful-development-tools.md)
141+
- [E - Ausgaben](appendix-05-editions.md)
142+
- [F - Übersetzungen des Buchs](appendix-06-translation.md)
143+
- [G - Wie Rust erstellt wird und „nächtliches Rust“](appendix-07-nightly-rust.md)

0 commit comments

Comments
 (0)