https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Rust_%28Programmiersprache%29 Rust (Programmiersprache) - Versionsgeschichte 2025-06-05T04:31:55Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.3 https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=254987321&oldid=prev --: Herausstellen, dass sich die Aussagen und Quellen ausdrücklich auf den Linuxkernel beziehen 2025-04-09T08:30:05Z <p>Herausstellen, dass sich die Aussagen und Quellen ausdrücklich auf den Linuxkernel beziehen</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 9. April 2025, 10:30 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 245:</td> <td colspan="2" class="diff-lineno">Zeile 245:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Linuxkernel enthält {{FormatNum|25000|de}} Zeilen Rustcode bei {{FormatNum|34000000|de}} Zeilen C-Code, Rust macht somit erst 0,07 % aus (Stand: 2025).&lt;ref name=":2"&gt;{{Internetquelle |autor=[[Greg Kroah-Hartman]] |url=https://git.sr.ht/~gregkh/presentation-rust/tree/ea733ca3a1255c35bffdd86b18dcbd931506b984/item/rust.pdf |titel=Rust and Linux |datum=2025-04-01 |abruf=2025-04-09}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Linuxkernel enthält {{FormatNum|25000|de}} Zeilen Rustcode bei {{FormatNum|34000000|de}} Zeilen C-Code, Rust macht somit erst 0,07 % aus (Stand: 2025).&lt;ref name=":2"&gt;{{Internetquelle |autor=[[Greg Kroah-Hartman]] |url=https://git.sr.ht/~gregkh/presentation-rust/tree/ea733ca3a1255c35bffdd86b18dcbd931506b984/item/rust.pdf |titel=Rust and Linux |datum=2025-04-01 |abruf=2025-04-09}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Für <del style="font-weight: bold; text-decoration: none;">Entwickler</del> bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref name=":3"&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Für <ins style="font-weight: bold; text-decoration: none;">Kernelentwickler</ins> bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref name=":3"&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die zahlenmäßig meisten gefundenen Fehler im Kernelcode betreffen Spezialfälle in C, die in Rust nicht vorkommen können, wie beispielsweise überschriebener Speicher, Aufräumarbeiten im Fehlerfall, vergessene Fehlerüberprüfung und Speichernutzung nach Rückgabe.&lt;ref name=":2" /&gt;&lt;ref&gt;{{Internetquelle |autor=[[Greg Kroah-Hartman]] |url=https://lore.kernel.org/rust-for-linux/2025021954-flaccid-pucker-f7d9@gregkh/ |titel=Rust kernel policy |abruf=2025-04-09}}&lt;/ref&gt; Dies betrifft rund 70 % der Sicherheitslücken.&lt;ref name=":3" /&gt; Rust erzwingt bereits beim Compilieren die Validierung nicht vertrauenswürdiger Daten, die Regeln für Speicherverwaltung, Sperrregeln, Fehlerbehandlung und Typsicherheit, das vereinfacht Codereviews und reduziert Programmierfehler.&lt;ref name=":2" /&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die zahlenmäßig meisten gefundenen Fehler im Kernelcode betreffen Spezialfälle in C, die in Rust nicht vorkommen können, wie beispielsweise überschriebener Speicher, Aufräumarbeiten im Fehlerfall, vergessene Fehlerüberprüfung und Speichernutzung nach Rückgabe.&lt;ref name=":2" /&gt;&lt;ref&gt;{{Internetquelle |autor=[[Greg Kroah-Hartman]] |url=https://lore.kernel.org/rust-for-linux/2025021954-flaccid-pucker-f7d9@gregkh/ |titel=Rust kernel policy |abruf=2025-04-09}}&lt;/ref&gt; Dies betrifft rund 70 % der Sicherheitslücken.&lt;ref name=":3" /&gt; Rust erzwingt bereits beim Compilieren die Validierung nicht vertrauenswürdiger Daten, die Regeln für Speicherverwaltung, Sperrregeln, Fehlerbehandlung und Typsicherheit, das vereinfacht Codereviews und reduziert Programmierfehler<ins style="font-weight: bold; text-decoration: none;"> im Linuxkernel</ins>.&lt;ref name=":2" /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mit dem [[Linux (Kernel)|Linux-Kernel]] 6.1 wurde erstmals die Möglichkeit geschaffen, neben der Programmiersprache C auch Rust als zweite Programmiersprache im Kernel zu verwenden. Dies war aber noch nicht als produktiv zu bezeichnen, da noch entsprechende Rust-Module im Kernel fehlten.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/news/Linux-6-1-als-naechster-Langzeit-Kernel-erschienen-7393140.html |titel=Linux 6.1 als nächster Langzeit-Kernel erschienen |datum=2022-12-13 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |autor=Ferdinand Thommes |url=https://linuxnews.de/linux-6-1-mit-initialem-rust-code-freigegeben/ |titel=Linux 6.1 mit initialem Rust-Code freigegeben |hrsg= |datum=2022-12-12 |sprache=de |abruf=2023-05-10}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mit dem [[Linux (Kernel)|Linux-Kernel]] 6.1 wurde erstmals die Möglichkeit geschaffen, neben der Programmiersprache C auch Rust als zweite Programmiersprache im Kernel zu verwenden. Dies war aber noch nicht als produktiv zu bezeichnen, da noch entsprechende Rust-Module im Kernel fehlten.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/news/Linux-6-1-als-naechster-Langzeit-Kernel-erschienen-7393140.html |titel=Linux 6.1 als nächster Langzeit-Kernel erschienen |datum=2022-12-13 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |autor=Ferdinand Thommes |url=https://linuxnews.de/linux-6-1-mit-initialem-rust-code-freigegeben/ |titel=Linux 6.1 mit initialem Rust-Code freigegeben |hrsg= |datum=2022-12-12 |sprache=de |abruf=2023-05-10}}&lt;/ref&gt;</div></td> </tr> </table> -- https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=254987047&oldid=prev --: /* Linux Kernel */ LoC in Rust/C, Details zur Fehlerprävention durch Rust 2025-04-09T08:17:50Z <p><span class="autocomment">Linux Kernel: </span> LoC in Rust/C, Details zur Fehlerprävention durch Rust</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 9. April 2025, 10:17 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 243:</td> <td colspan="2" class="diff-lineno">Zeile 243:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Linux Kernel ====</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Linux Kernel ====</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der Linuxkernel enthält {{FormatNum|25000|de}} Zeilen Rustcode bei {{FormatNum|34000000|de}} Zeilen C-Code, Rust macht somit erst 0,07 % aus (Stand: 2025).&lt;ref name=":2"&gt;{{Internetquelle |autor=[[Greg Kroah-Hartman]] |url=https://git.sr.ht/~gregkh/presentation-rust/tree/ea733ca3a1255c35bffdd86b18dcbd931506b984/item/rust.pdf |titel=Rust and Linux |datum=2025-04-01 |abruf=2025-04-09}}&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref name=":3"&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die zahlenmäßig meisten gefundenen Fehler im Kernelcode betreffen Spezialfälle in C, die in Rust nicht vorkommen können, wie beispielsweise überschriebener Speicher, Aufräumarbeiten im Fehlerfall, vergessene Fehlerüberprüfung und Speichernutzung nach Rückgabe.&lt;ref name=":2" /&gt;&lt;ref&gt;{{Internetquelle |autor=[[Greg Kroah-Hartman]] |url=https://lore.kernel.org/rust-for-linux/2025021954-flaccid-pucker-f7d9@gregkh/ |titel=Rust kernel policy |abruf=2025-04-09}}&lt;/ref&gt; Dies betrifft rund 70 % der Sicherheitslücken.&lt;ref name=":3" /&gt; Rust erzwingt bereits beim Compilieren die Validierung nicht vertrauenswürdiger Daten, die Regeln für Speicherverwaltung, Sperrregeln, Fehlerbehandlung und Typsicherheit, das vereinfacht Codereviews und reduziert Programmierfehler.&lt;ref name=":2" /&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mit dem [[Linux (Kernel)|Linux-Kernel]] 6.1 wurde erstmals die Möglichkeit geschaffen, neben der Programmiersprache C auch Rust als zweite Programmiersprache im Kernel zu verwenden. Dies war aber noch nicht als produktiv zu bezeichnen, da noch entsprechende Rust-Module im Kernel fehlten.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/news/Linux-6-1-als-naechster-Langzeit-Kernel-erschienen-7393140.html |titel=Linux 6.1 als nächster Langzeit-Kernel erschienen |datum=2022-12-13 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |autor=Ferdinand Thommes |url=https://linuxnews.de/linux-6-1-mit-initialem-rust-code-freigegeben/ |titel=Linux 6.1 mit initialem Rust-Code freigegeben |hrsg= |datum=2022-12-12 |sprache=de |abruf=2023-05-10}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mit dem [[Linux (Kernel)|Linux-Kernel]] 6.1 wurde erstmals die Möglichkeit geschaffen, neben der Programmiersprache C auch Rust als zweite Programmiersprache im Kernel zu verwenden. Dies war aber noch nicht als produktiv zu bezeichnen, da noch entsprechende Rust-Module im Kernel fehlten.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/news/Linux-6-1-als-naechster-Langzeit-Kernel-erschienen-7393140.html |titel=Linux 6.1 als nächster Langzeit-Kernel erschienen |datum=2022-12-13 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |autor=Ferdinand Thommes |url=https://linuxnews.de/linux-6-1-mit-initialem-rust-code-freigegeben/ |titel=Linux 6.1 mit initialem Rust-Code freigegeben |hrsg= |datum=2022-12-12 |sprache=de |abruf=2023-05-10}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Erst mit den folgenden Kerneln wurden Module und mehrere Updates der [[Toolchain]] gemacht, um dem produktiven Einsatz näher zu kommen und zukünftig näher an der aktuellen Entwicklung von Rust zu sein.&lt;ref&gt;{{Internetquelle |url=https://www.phoronix.com/news/Rust-For-Linux-6.5 |titel=Linux 6.5 Upgrading The Rust Toolchain, New Modules Added |sprache=en |abruf=2023-11-04}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.phoronix.com/news/Linux-6.7-Rust |titel=Rust WQ Abstractions, Rust Toolchain Upgrade &amp; Android Kernel Builds For Linux 6.7 |sprache=en |abruf=2023-11-04}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Erst mit den folgenden Kerneln wurden Module und mehrere Updates der [[Toolchain]] gemacht, um dem produktiven Einsatz näher zu kommen und zukünftig näher an der aktuellen Entwicklung von Rust zu sein.&lt;ref&gt;{{Internetquelle |url=https://www.phoronix.com/news/Rust-For-Linux-6.5 |titel=Linux 6.5 Upgrading The Rust Toolchain, New Modules Added |sprache=en |abruf=2023-11-04}}&lt;/ref&gt;&lt;ref&gt;{{Internetquelle |url=https://www.phoronix.com/news/Linux-6.7-Rust |titel=Rust WQ Abstractions, Rust Toolchain Upgrade &amp; Android Kernel Builds For Linux 6.7 |sprache=en |abruf=2023-11-04}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">In</del> <del style="font-weight: bold; text-decoration: none;">einem</del> <del style="font-weight: bold; text-decoration: none;">Interview mit</del> Rust<del style="font-weight: bold; text-decoration: none;">-für-Linux-Betreuer</del> <del style="font-weight: bold; text-decoration: none;">Miguel</del> <del style="font-weight: bold; text-decoration: none;">Ojeda</del> <del style="font-weight: bold; text-decoration: none;">wird</del> <del style="font-weight: bold; text-decoration: none;">berichtet,</del> <del style="font-weight: bold; text-decoration: none;">dass rund 70 % der Sicherheitslücken</del> auf<del style="font-weight: bold; text-decoration: none;"> Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind</del>, <del style="font-weight: bold; text-decoration: none;">die</del> <del style="font-weight: bold; text-decoration: none;">sich</del> <del style="font-weight: bold; text-decoration: none;">zukünftig</del> <del style="font-weight: bold; text-decoration: none;">mit</del> <del style="font-weight: bold; text-decoration: none;">Rust</del> <del style="font-weight: bold; text-decoration: none;">vermeiden</del> <del style="font-weight: bold; text-decoration: none;">ließen.</del> <del style="font-weight: bold; text-decoration: none;">Für</del> <del style="font-weight: bold; text-decoration: none;">Entwickler</del> <del style="font-weight: bold; text-decoration: none;">bietet</del> <del style="font-weight: bold; text-decoration: none;">Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu</del> <del style="font-weight: bold; text-decoration: none;">C</del>.&lt;ref&gt;{{Internetquelle<del style="font-weight: bold; text-decoration: none;"> |autor=heise online</del> |url=https://www.heise.de/<del style="font-weight: bold; text-decoration: none;">hintergrund</del>/<del style="font-weight: bold; text-decoration: none;">Drei</del>-<del style="font-weight: bold; text-decoration: none;">Fragen</del>-<del style="font-weight: bold; text-decoration: none;">und</del>-<del style="font-weight: bold; text-decoration: none;">Antworten</del>-<del style="font-weight: bold; text-decoration: none;">Was</del>-<del style="font-weight: bold; text-decoration: none;">die</del>-<del style="font-weight: bold; text-decoration: none;">Rust</del>-<del style="font-weight: bold; text-decoration: none;">Zukunft-fuer-Linux</del>-<del style="font-weight: bold; text-decoration: none;">bringt</del>-<del style="font-weight: bold; text-decoration: none;">7531986</del>.html |titel=<del style="font-weight: bold; text-decoration: none;">Drei Fragen und Antworten: Was die</del> Rust-<del style="font-weight: bold; text-decoration: none;">Zukunft</del> <del style="font-weight: bold; text-decoration: none;">für</del> Linux <del style="font-weight: bold; text-decoration: none;">bringt</del> |datum=<del style="font-weight: bold; text-decoration: none;">2023</del>-<del style="font-weight: bold; text-decoration: none;">03</del>-<del style="font-weight: bold; text-decoration: none;">06</del> |sprache=de |abruf=<del style="font-weight: bold; text-decoration: none;">2023</del>-<del style="font-weight: bold; text-decoration: none;">11</del>-<del style="font-weight: bold; text-decoration: none;">04</del>}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Die</ins> <ins style="font-weight: bold; text-decoration: none;">Umstellung</ins> <ins style="font-weight: bold; text-decoration: none;">auf</ins> Rust <ins style="font-weight: bold; text-decoration: none;">warf</ins> <ins style="font-weight: bold; text-decoration: none;">aber</ins> <ins style="font-weight: bold; text-decoration: none;">auch</ins> <ins style="font-weight: bold; text-decoration: none;">diverse</ins> <ins style="font-weight: bold; text-decoration: none;">Diskussionen</ins> auf, <ins style="font-weight: bold; text-decoration: none;">in</ins> <ins style="font-weight: bold; text-decoration: none;">deren</ins> <ins style="font-weight: bold; text-decoration: none;">Folge</ins> <ins style="font-weight: bold; text-decoration: none;">im</ins> <ins style="font-weight: bold; text-decoration: none;">Jahr</ins> <ins style="font-weight: bold; text-decoration: none;">2025</ins> <ins style="font-weight: bold; text-decoration: none;">langjährige</ins> <ins style="font-weight: bold; text-decoration: none;">Kernel-Maintainer</ins> <ins style="font-weight: bold; text-decoration: none;">das</ins> <ins style="font-weight: bold; text-decoration: none;">Projekt</ins> <ins style="font-weight: bold; text-decoration: none;">verlassen</ins> <ins style="font-weight: bold; text-decoration: none;">haben</ins>.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/<ins style="font-weight: bold; text-decoration: none;">news</ins>/<ins style="font-weight: bold; text-decoration: none;">Der</ins>-<ins style="font-weight: bold; text-decoration: none;">Rust</ins>-<ins style="font-weight: bold; text-decoration: none;">DMA</ins>-<ins style="font-weight: bold; text-decoration: none;">Streit</ins>-<ins style="font-weight: bold; text-decoration: none;">beim</ins>-<ins style="font-weight: bold; text-decoration: none;">Linux</ins>-<ins style="font-weight: bold; text-decoration: none;">Kernel</ins>-<ins style="font-weight: bold; text-decoration: none;">ein</ins>-<ins style="font-weight: bold; text-decoration: none;">Analyseversuch</ins>-<ins style="font-weight: bold; text-decoration: none;">10291076</ins>.html |titel=<ins style="font-weight: bold; text-decoration: none;">Der</ins> Rust-<ins style="font-weight: bold; text-decoration: none;">DMA-Streit</ins> <ins style="font-weight: bold; text-decoration: none;">beim</ins> Linux<ins style="font-weight: bold; text-decoration: none;">-Kernel</ins> <ins style="font-weight: bold; text-decoration: none;">|autor=Thorsten Leemhuis |werk=heise.de</ins> |datum=<ins style="font-weight: bold; text-decoration: none;">2025</ins>-<ins style="font-weight: bold; text-decoration: none;">02</ins>-<ins style="font-weight: bold; text-decoration: none;">21</ins> |sprache=de |abruf=<ins style="font-weight: bold; text-decoration: none;">2025</ins>-<ins style="font-weight: bold; text-decoration: none;">02</ins>-<ins style="font-weight: bold; text-decoration: none;">21</ins>}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, in deren Folge langjährige Kernel-Maintainer das Projekt verlassen haben.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |autor=Thorsten Leemhuis |werk=heise.de |datum=2025-02-21 |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> -- https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=254095831&oldid=prev PaulBommel: /* Sprachdesign */ traut als code formatiert, wie vorher 2025-03-11T07:45:51Z <p><span class="autocomment">Sprachdesign: </span> traut als code formatiert, wie vorher</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 11. März 2025, 09:45 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 62:</td> <td colspan="2" class="diff-lineno">Zeile 62:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Rust kennt neben den sogenannten Raw-[[Zeiger (Informatik)|Pointern]], die Zeigern in C entsprechen und nur in explizit als &lt;code&gt;unsafe&lt;/code&gt; markiertem Code dereferenziert werden dürfen, auch noch [[Referenz (Programmierung)|Referenzen]]. Diese zeigen immer auf gültigen Speicher und dürfen niemals den Wert [[Zeiger (Informatik)#Nullzeiger|null]] annehmen. Es werden zwei verschiedene Arten von Referenzen unterschieden: gemeinsame Referenzen (''shared references''), eingeleitet durch &lt;code&gt;&amp;amp;&lt;/code&gt;, und veränderbare Referenzen (''mutable references''), eingeleitet durch &lt;code&gt;&amp;amp;mut&lt;/code&gt;. Der Rust-Compiler garantiert [[Statische Code-Analyse|statisch]], dass keine Referenz das von ihr referenzierte Objekt [[Variable (Programmierung)#Lebensdauer von Variablen|„überlebt“]], dass das referenzierte Objekt nicht verändert wird, während eine Referenz (egal ob gemeinsam oder veränderbar) existiert, und dass eine veränderbare Referenz – wenn eine solche existiert – stets die einzige Referenz auf ein Objekt ist, sodass Veränderungen am Objekt vorgenommen werden können, ohne dabei Referenzen zum selben Objekt an anderen Stellen im Code oder sogar in anderen [[Thread (Informatik)|Threads]] ungültig zu machen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Rust kennt neben den sogenannten Raw-[[Zeiger (Informatik)|Pointern]], die Zeigern in C entsprechen und nur in explizit als &lt;code&gt;unsafe&lt;/code&gt; markiertem Code dereferenziert werden dürfen, auch noch [[Referenz (Programmierung)|Referenzen]]. Diese zeigen immer auf gültigen Speicher und dürfen niemals den Wert [[Zeiger (Informatik)#Nullzeiger|null]] annehmen. Es werden zwei verschiedene Arten von Referenzen unterschieden: gemeinsame Referenzen (''shared references''), eingeleitet durch &lt;code&gt;&amp;amp;&lt;/code&gt;, und veränderbare Referenzen (''mutable references''), eingeleitet durch &lt;code&gt;&amp;amp;mut&lt;/code&gt;. Der Rust-Compiler garantiert [[Statische Code-Analyse|statisch]], dass keine Referenz das von ihr referenzierte Objekt [[Variable (Programmierung)#Lebensdauer von Variablen|„überlebt“]], dass das referenzierte Objekt nicht verändert wird, während eine Referenz (egal ob gemeinsam oder veränderbar) existiert, und dass eine veränderbare Referenz – wenn eine solche existiert – stets die einzige Referenz auf ein Objekt ist, sodass Veränderungen am Objekt vorgenommen werden können, ohne dabei Referenzen zum selben Objekt an anderen Stellen im Code oder sogar in anderen [[Thread (Informatik)|Threads]] ungültig zu machen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Das Erstellen von Referenzen wird auch als ''Borrowing'' (Ausleihen) bezeichnet und bildet zusammen mit dem Konzept der ''Ownership'' (Besitz) die Grundlage für die sichere Speicherverwaltung ohne Garbage Collection. ''Ownership'' bedeutet hier, dass jedes Objekt im Speicher im Besitz derjenigen Variable ist, der es bei der Erstellung zugewiesen wird. Am Ende der [[Variable (Programmierung)#Lebensdauer von Variablen|Lebensdauer]] dieser Variable wird der Speicher automatisch freigegeben. Für die meisten komplexeren Datentypen verwendet Rust die sogenannte ''Move''-Semantik, sodass bei Zuweisung eines Objektes zu einer anderen Variablen das Objekt „verschoben“ wird, und ein Zugriff auf die alte Variable daraufhin nicht mehr möglich ist. Auch beim Übergeben von Objekten als [[Wertparameter]] an Funktionen (''call by value'') werden solche Objekte in die Funktion „hineingeschoben“ und sind von außen nicht mehr zugreifbar, wenn sie nicht wieder von der Funktion zurückgegeben werden. [[Datentyp#Elementare Datentypen|Primitive Datentypen]] im engeren Sinne verwenden keine ''Move''-Semantik, sondern die sonst übliche ''Copy''-Semantik (Zuweisungen erstellen eine Kopie). Dies gilt nicht für folgende Datentypen, die in Rust als primitiv gelten: veränderbare Referenzen (''mutable references'')&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.reference.html#trait-implementations-1 |titel=Trait-Implementierungen für Referenzen |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt;, manche [[Closure (Funktion)|Closures]]&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/marker/trait.Copy.html#additional-implementors |titel=Der „Copy“-Trait |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt;, str&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.str.html |titel=Der „str“-Datentyp |werk=Dokumentation der Rust-Standardbibliothek |abruf=2023-08-07}}&lt;/ref&gt; und manche Arrays&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.array.html |titel=Der „array“-Datentyp |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt; und manche Tupel&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.tuple.html |titel=Der „tuple“-Datentyp |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt;. Bei benutzerdefinierten Datentypen kann mittels des <del style="font-weight: bold; text-decoration: none;">''</del>Copy<del style="font-weight: bold; text-decoration: none;">''</del>-Traits selbst entschieden werden, ob ''Move''- oder ''Copy''-Semantik verwendet werden soll.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Das Erstellen von Referenzen wird auch als ''Borrowing'' (Ausleihen) bezeichnet und bildet zusammen mit dem Konzept der ''Ownership'' (Besitz) die Grundlage für die sichere Speicherverwaltung ohne Garbage Collection. ''Ownership'' bedeutet hier, dass jedes Objekt im Speicher im Besitz derjenigen Variable ist, der es bei der Erstellung zugewiesen wird. Am Ende der [[Variable (Programmierung)#Lebensdauer von Variablen|Lebensdauer]] dieser Variable wird der Speicher automatisch freigegeben. Für die meisten komplexeren Datentypen verwendet Rust die sogenannte ''Move''-Semantik, sodass bei Zuweisung eines Objektes zu einer anderen Variablen das Objekt „verschoben“ wird, und ein Zugriff auf die alte Variable daraufhin nicht mehr möglich ist. Auch beim Übergeben von Objekten als [[Wertparameter]] an Funktionen (''call by value'') werden solche Objekte in die Funktion „hineingeschoben“ und sind von außen nicht mehr zugreifbar, wenn sie nicht wieder von der Funktion zurückgegeben werden. [[Datentyp#Elementare Datentypen|Primitive Datentypen]] im engeren Sinne verwenden keine ''Move''-Semantik, sondern die sonst übliche ''Copy''-Semantik (Zuweisungen erstellen eine Kopie). Dies gilt nicht für folgende Datentypen, die in Rust als primitiv gelten: veränderbare Referenzen (''mutable references'')&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.reference.html#trait-implementations-1 |titel=Trait-Implementierungen für Referenzen |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt;, manche [[Closure (Funktion)|Closures]]&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/marker/trait.Copy.html#additional-implementors |titel=Der „Copy“-Trait |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt;, str&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.str.html |titel=Der „str“-Datentyp |werk=Dokumentation der Rust-Standardbibliothek |abruf=2023-08-07}}&lt;/ref&gt; und manche Arrays&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.array.html |titel=Der „array“-Datentyp |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt; und manche Tupel&lt;ref&gt;{{Internetquelle |url=https://doc.rust-lang.org/std/primitive.tuple.html |titel=Der „tuple“-Datentyp |werk=Dokumentation der Rust-Standardbibliothek |sprache=en |abruf=2023-08-07}}&lt;/ref&gt;. Bei benutzerdefinierten Datentypen kann mittels des <ins style="font-weight: bold; text-decoration: none;">&lt;code&gt;</ins>Copy<ins style="font-weight: bold; text-decoration: none;">&lt;/code&gt;</ins>-Traits selbst entschieden werden, ob ''Move''- oder ''Copy''-Semantik verwendet werden soll.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Zur dynamischen Speicherverwaltung stehen die [[Intelligenter Zeiger|Smart-Pointer-Typen]] &lt;code&gt;Box&lt;/code&gt;, &lt;code&gt;Rc&lt;/code&gt; und der Hilfstyp &lt;code&gt;RefCell&lt;/code&gt; zur Verfügung, welche einerseits dem System Ownership-Borrowing-Lifetime-Move unterworfen sind, dieses System andererseits auf die Laufzeitdynamik übertragen. Der Typ &lt;code&gt;Box&amp;lt;T&amp;gt;&lt;/code&gt; beschreibt einen besitzenden Zeiger auf einen Wert vom Typ &lt;code&gt;T&lt;/code&gt; im dynamisch allozierten Speicher. Der Typ &lt;code&gt;Rc&amp;lt;T&amp;gt;&lt;/code&gt; beschreibt über [[Referenzzählung]] einen gemeinschaftlichen Besitz auf einen unveränderlichen Wert. Ein unveränderlicher Wert kann jedoch veränderliche innere Daten vom Typ &lt;code&gt;RefCell&amp;lt;T&amp;gt;&lt;/code&gt; besitzen, wobei jeweils ein Referenzzähler für einen Zugriff analog zu &lt;code&gt;&amp;amp;&lt;/code&gt; und &lt;code&gt;&amp;amp;mut&lt;/code&gt; das sichere dynamische Borrowing durch Prüfung zur Laufzeit ermöglicht.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Zur dynamischen Speicherverwaltung stehen die [[Intelligenter Zeiger|Smart-Pointer-Typen]] &lt;code&gt;Box&lt;/code&gt;, &lt;code&gt;Rc&lt;/code&gt; und der Hilfstyp &lt;code&gt;RefCell&lt;/code&gt; zur Verfügung, welche einerseits dem System Ownership-Borrowing-Lifetime-Move unterworfen sind, dieses System andererseits auf die Laufzeitdynamik übertragen. Der Typ &lt;code&gt;Box&amp;lt;T&amp;gt;&lt;/code&gt; beschreibt einen besitzenden Zeiger auf einen Wert vom Typ &lt;code&gt;T&lt;/code&gt; im dynamisch allozierten Speicher. Der Typ &lt;code&gt;Rc&amp;lt;T&amp;gt;&lt;/code&gt; beschreibt über [[Referenzzählung]] einen gemeinschaftlichen Besitz auf einen unveränderlichen Wert. Ein unveränderlicher Wert kann jedoch veränderliche innere Daten vom Typ &lt;code&gt;RefCell&amp;lt;T&amp;gt;&lt;/code&gt; besitzen, wobei jeweils ein Referenzzähler für einen Zugriff analog zu &lt;code&gt;&amp;amp;&lt;/code&gt; und &lt;code&gt;&amp;amp;mut&lt;/code&gt; das sichere dynamische Borrowing durch Prüfung zur Laufzeit ermöglicht.</div></td> </tr> </table> PaulBommel https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=253914552&oldid=prev Qcomp: mE unnötige Details: der belegte Satz, dass in Folge der Diskussion lagjährige Maintainer das Projekt verlasssen haben, genügt, um wen es sich handelt, steht im EN (Personalwechsel im Linux-kernel oder bei Asahi Linux sind nicht für Rust relevant) 2025-03-05T11:37:48Z <p>mE unnötige Details: der belegte Satz, dass in Folge der Diskussion lagjährige Maintainer das Projekt verlasssen haben, genügt, um wen es sich handelt, steht im EN (Personalwechsel im Linux-kernel oder bei Asahi Linux sind nicht für Rust relevant)</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 5. März 2025, 13:37 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 249:</td> <td colspan="2" class="diff-lineno">Zeile 249:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In einem Interview mit Rust-für-Linux-Betreuer Miguel Ojeda wird berichtet, dass rund 70 % der Sicherheitslücken auf Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind, die sich zukünftig mit Rust vermeiden ließen. Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In einem Interview mit Rust-für-Linux-Betreuer Miguel Ojeda wird berichtet, dass rund 70 % der Sicherheitslücken auf Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind, die sich zukünftig mit Rust vermeiden ließen. Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, <del style="font-weight: bold; text-decoration: none;">die</del> <del style="font-weight: bold; text-decoration: none;">bis</del> <del style="font-weight: bold; text-decoration: none;">zum</del> <del style="font-weight: bold; text-decoration: none;">Verlassen langjähriger</del> Kernel-Maintainer <del style="font-weight: bold; text-decoration: none;">von dem</del> Projekt <del style="font-weight: bold; text-decoration: none;">führt</del>.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, <ins style="font-weight: bold; text-decoration: none;">in</ins> <ins style="font-weight: bold; text-decoration: none;">deren</ins> <ins style="font-weight: bold; text-decoration: none;">Folge</ins> <ins style="font-weight: bold; text-decoration: none;">langjährige</ins> Kernel-Maintainer <ins style="font-weight: bold; text-decoration: none;">das</ins> Projekt <ins style="font-weight: bold; text-decoration: none;">verlassen haben</ins>.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel<ins style="font-weight: bold; text-decoration: none;"> |autor=Thorsten Leemhuis |werk=heise.de |datum=2025-02-21</ins> |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>So verließ der Gründer von Asahi-Linux (eine Linux-Distribution, die Linux auf den neuen, von Apple entwickelten M-Chips verfügbar macht) das Projekt.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Auch Christoph Hellwig ist als maßgeblicher Linux-Entwickler zurückgetreten.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> Qcomp https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=253786107&oldid=prev 2A02:8071:57B0:A1E0:B82:2343:FDD1:34F4: /* Linux Kernel */ substant. Verben werden groß geschrieben 2025-03-01T13:04:50Z <p><span class="autocomment">Linux Kernel: </span> substant. Verben werden groß geschrieben</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 1. März 2025, 15:04 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 249:</td> <td colspan="2" class="diff-lineno">Zeile 249:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In einem Interview mit Rust-für-Linux-Betreuer Miguel Ojeda wird berichtet, dass rund 70 % der Sicherheitslücken auf Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind, die sich zukünftig mit Rust vermeiden ließen. Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In einem Interview mit Rust-für-Linux-Betreuer Miguel Ojeda wird berichtet, dass rund 70 % der Sicherheitslücken auf Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind, die sich zukünftig mit Rust vermeiden ließen. Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum <del style="font-weight: bold; text-decoration: none;">verlassen</del> langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum <ins style="font-weight: bold; text-decoration: none;">Verlassen</ins> langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>So verließ der Gründer von Asahi-Linux (eine Linux-Distribution, die Linux auf den neuen, von Apple entwickelten M-Chips verfügbar macht) das Projekt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>So verließ der Gründer von Asahi-Linux (eine Linux-Distribution, die Linux auf den neuen, von Apple entwickelten M-Chips verfügbar macht) das Projekt.</div></td> </tr> </table> 2A02:8071:57B0:A1E0:B82:2343:FDD1:34F4 https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=253551635&oldid=prev 87.78.175.55: /* Linux Kernel */ 2025-02-21T22:45:03Z <p><span class="autocomment">Linux Kernel</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 22. Februar 2025, 00:45 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 250:</td> <td colspan="2" class="diff-lineno">Zeile 250:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum verlassen langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum verlassen langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>So verließ der Gründer von Asahi-Linux (eine Linux-Distribution, die Linux auf den neuen, von Apple entwickelten M-Chips verfügbar macht) das Projekt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>So verließ der Gründer von Asahi-Linux (eine Linux-Distribution, die Linux auf den neuen, von Apple entwickelten M-Chips verfügbar macht) das Projekt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auch Christoph Hellwig ist als maßgeblicher Linux-Entwickler zurückgetreten.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Auch Christoph Hellwig ist als maßgeblicher Linux-Entwickler zurückgetreten.</div></td> </tr> </table> 87.78.175.55 https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=253551608&oldid=prev 87.78.175.55: /* Linux Kernel */ 2025-02-21T22:43:51Z <p><span class="autocomment">Linux Kernel</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 22. Februar 2025, 00:43 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 250:</td> <td colspan="2" class="diff-lineno">Zeile 250:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum verlassen langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum verlassen langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>So verließ der Gründer von Asahi-Linux (eine Linux-Distribution, die Linux auf den neuen, von Apple entwickelten M-Chips verfügbar macht) das Projekt.</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Auch Christoph Hellwig ist als maßgeblicher Linux-Entwickler zurückgetreten.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> 87.78.175.55 https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=253551547&oldid=prev 87.78.175.55: /* Linux Kernel */ 2025-02-21T22:39:02Z <p><span class="autocomment">Linux Kernel</span></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 22. Februar 2025, 00:39 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 248:</td> <td colspan="2" class="diff-lineno">Zeile 248:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In einem Interview mit Rust-für-Linux-Betreuer Miguel Ojeda wird berichtet, dass rund 70 % der Sicherheitslücken auf Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind, die sich zukünftig mit Rust vermeiden ließen. Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>In einem Interview mit Rust-für-Linux-Betreuer Miguel Ojeda wird berichtet, dass rund 70 % der Sicherheitslücken auf Speichersicherheitsprobleme der C-Codebasis zurückzuführen sind, die sich zukünftig mit Rust vermeiden ließen. Für Entwickler bietet Rust als Sprache, Bibliothek und Tooling viele moderne Verbesserungen im Vergleich zu C.&lt;ref&gt;{{Internetquelle |autor=heise online |url=https://www.heise.de/hintergrund/Drei-Fragen-und-Antworten-Was-die-Rust-Zukunft-fuer-Linux-bringt-7531986.html |titel=Drei Fragen und Antworten: Was die Rust-Zukunft für Linux bringt |datum=2023-03-06 |sprache=de |abruf=2023-11-04}}&lt;/ref&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Aktuell (Anfang 2025) wirft die Umstellung auf Rust aber auch diverse Diskussionen auf, die bis zum verlassen langjähriger Kernel-Maintainer von dem Projekt führt.&lt;ref&gt;{{Internetquelle |url=https://www.heise.de/news/Der-Rust-DMA-Streit-beim-Linux-Kernel-ein-Analyseversuch-10291076.html |titel=Der Rust-DMA-Streit beim Linux-Kernel |sprache=de |abruf=2025-02-21}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> </table> 87.78.175.55 https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=252932275&oldid=prev Joschi71: /* Syntax, Sprachkonstrukte */ Komma statt Punkt, sonst hat der folgende Satz kein Verb. 2025-02-02T19:51:44Z <p><span class="autocomment">Syntax, Sprachkonstrukte: </span> Komma statt Punkt, sonst hat der folgende Satz kein Verb.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 2. Februar 2025, 21:51 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 39:</td> <td colspan="2" class="diff-lineno">Zeile 39:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Syntaktisch ist die Sprache an [[C (Programmiersprache)|C]] angelehnt. Mehrere aufeinanderfolgende Anweisungen werden durch ein [[Semikolon]] getrennt, Blöcke stehen in geschweiften Klammern. In vielen Details weicht die [[Syntax]] allerdings davon ab. So werden beispielsweise keine Klammern um die Bedingungen von &lt;code&gt;if&lt;/code&gt;- und &lt;code&gt;while&lt;/code&gt;-Statements benötigt, stattdessen aber geschweifte Klammern um den dahinterstehenden Block erzwungen, auch wenn dort nur eine Anweisung steht. Das Schlüsselwort &lt;code&gt;for&lt;/code&gt; leitet in Rust immer eine [[Foreach-Schleife]] ein, die das Iterieren über beliebige (auch benutzerdefinierte) Container und Objekte ermöglicht. Anstelle des &lt;code&gt;switch&lt;/code&gt;-Statements gibt es die wesentlich mächtigeren &lt;code&gt;match&lt;/code&gt;-Ausdrücke, die nicht nur mit Zahlen und Zeichenketten umgehen können, sondern [[Pattern Matching]] auf beliebig verschachtelten Strukturen durchführen können.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Syntaktisch ist die Sprache an [[C (Programmiersprache)|C]] angelehnt. Mehrere aufeinanderfolgende Anweisungen werden durch ein [[Semikolon]] getrennt, Blöcke stehen in geschweiften Klammern. In vielen Details weicht die [[Syntax]] allerdings davon ab. So werden beispielsweise keine Klammern um die Bedingungen von &lt;code&gt;if&lt;/code&gt;- und &lt;code&gt;while&lt;/code&gt;-Statements benötigt, stattdessen aber geschweifte Klammern um den dahinterstehenden Block erzwungen, auch wenn dort nur eine Anweisung steht. Das Schlüsselwort &lt;code&gt;for&lt;/code&gt; leitet in Rust immer eine [[Foreach-Schleife]] ein, die das Iterieren über beliebige (auch benutzerdefinierte) Container und Objekte ermöglicht. Anstelle des &lt;code&gt;switch&lt;/code&gt;-Statements gibt es die wesentlich mächtigeren &lt;code&gt;match&lt;/code&gt;-Ausdrücke, die nicht nur mit Zahlen und Zeichenketten umgehen können, sondern [[Pattern Matching]] auf beliebig verschachtelten Strukturen durchführen können.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Variablen werden normalerweise klein (&lt;code&gt;snake_case&lt;/code&gt;) geschrieben, außer wenn es sich um Konstanten handelt. Bei Konstanten schreibt man jeden Buchstaben groß und trennt jedes Wort mit einem Unterstrich (&lt;code&gt;SCREAMING_SNAKE_CASE&lt;/code&gt;)<del style="font-weight: bold; text-decoration: none;">.</del>&lt;ref&gt;{{Internetquelle| url=https://rust-lang.github.io/rfcs/0430-finalizing-naming-conventions.html| titel=0430-finalizing-naming-conventions - The Rust RFC Book| abruf=2024-09-08| datum=2014-11-02}}&lt;/ref&gt; Datentypen mit Ausnahme der primitiven mit großem Anfangsbuchstaben (&lt;code&gt;PascalCase&lt;/code&gt;). Typparameter von generischen Typen und Funktionen stehen in spitzen Klammern. Zwei Doppelpunkte drücken aus, dass der Bezeichner auf der rechten Seite aus dem Namensraum des Bezeichners auf der linken Seite entstammen soll. Die Bindung eines Bezeichners &lt;code&gt;x&lt;/code&gt; an einen Wert wird</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Variablen werden normalerweise klein (&lt;code&gt;snake_case&lt;/code&gt;) geschrieben, außer wenn es sich um Konstanten handelt. Bei Konstanten schreibt man jeden Buchstaben groß und trennt jedes Wort mit einem Unterstrich (&lt;code&gt;SCREAMING_SNAKE_CASE&lt;/code&gt;)<ins style="font-weight: bold; text-decoration: none;">,</ins>&lt;ref&gt;{{Internetquelle| url=https://rust-lang.github.io/rfcs/0430-finalizing-naming-conventions.html| titel=0430-finalizing-naming-conventions - The Rust RFC Book| abruf=2024-09-08| datum=2014-11-02}}&lt;/ref&gt; Datentypen mit Ausnahme der primitiven mit großem Anfangsbuchstaben (&lt;code&gt;PascalCase&lt;/code&gt;). Typparameter von generischen Typen und Funktionen stehen in spitzen Klammern. Zwei Doppelpunkte drücken aus, dass der Bezeichner auf der rechten Seite aus dem Namensraum des Bezeichners auf der linken Seite entstammen soll. Die Bindung eines Bezeichners &lt;code&gt;x&lt;/code&gt; an einen Wert wird</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;syntaxhighlight lang="Rust"&gt;let x: Typ = Wert;&lt;/syntaxhighlight&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;syntaxhighlight lang="Rust"&gt;let x: Typ = Wert;&lt;/syntaxhighlight&gt;</div></td> </tr> </table> Joschi71 https://de.wikipedia.org/w/index.php?title=Rust_(Programmiersprache)&diff=252926640&oldid=prev WolfgangRieger: /* Einzelnachweise */ s. Wikipedia:Spaltensatz 2025-02-02T16:22:04Z <p><span class="autocomment">Einzelnachweise: </span> s. <a href="/wiki/Wikipedia:Spaltensatz" title="Wikipedia:Spaltensatz">Wikipedia:Spaltensatz</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 2. Februar 2025, 18:22 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 259:</td> <td colspan="2" class="diff-lineno">Zeile 259:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Einzelnachweise ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&lt;references<del style="font-weight: bold; text-decoration: none;"> responsive</del> /&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;references /&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Normdaten|TYP=s|GND=1078438080}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Normdaten|TYP=s|GND=1078438080}}</div></td> </tr> </table> WolfgangRieger