
Mein Kommentar zu den Rust 1.28-Nachrichten mit einem Rückblick auf die Rostereignisse des Monats ist gut gelaufen. Behalten Sie also einen sehr subjektiven Abschnitt der Rostnachrichten für den letzten Monat bei.
In dieser Sammlung: Rust 1.29, Berichte von Rustconf 2018, gfx-rs, Rust2018, Port Flatbuffers, neue Versionen von ripgrep und Alacritty.
Rost 1.29
Rust 1.29 wurde veröffentlicht. Die wichtigsten Neuerungen sind ab sofort bei rustup
, einem cargo fix
und cargo clippy
(weitere Details in der Habro-Übersetzung ).
Anschließend wurde Version 1.29.1 veröffentlicht, die einen Fehler in std :: repeat ( Diskussion ) abdeckt.
Rost 1.30 und 1.31 werden sehr bedeutend sein.
Es gibt noch keine genaue Liste, aber es wird erwartet, dass :
Video von der Rustconf 2018

Das Video von der RustConf 2018 ( Berichtsprogramm ) ist verfügbar. Die Liste der Videos in der Reihenfolge ihres ungefähren subjektiven Interesses:
- Verwenden von Rust für die Spieleentwicklung - Kyren von Chucklefish spricht über ECS ; Eine erweiterte Textversion des Berichts ist verfügbar .
- Rost in Tor integrieren: Erfolge und Herausforderungen - wie Tor langsam rostet (ein Drittel des Tora-Codes befindet sich jetzt in Rust);
- Verwenden von Raft in Rust - eine Einführung in Pingcap / Raft-Rs ;
- Weltraum, The Rusty Frontier - Rostige Weltraumsatelliten;
- Wie Sie Rust an Ihrem Arbeitsplatz (nicht) einführen - über die fehlgeschlagenen Erfahrungen bei der Implementierung von Rust im Unternehmen und welche Schlussfolgerungen daraus gezogen werden können;
- Einbetten von Rust in C / C ++ - von den Grundlagen von FFI bis zu subtilen Momenten und Unebenheiten, die in der Praxis ausgefüllt werden;
- Etwas für nichts bekommen - wie Rust bei der Programmierung für eingebettete Systeme helfen kann;
- Benchmarking und Optimierung von Rostbibliotheken - eine Überprüfung der Tools und Ansätze zur Optimierung und zum Benchmarking;
- The Dark Secrets Lurking Inside Frachtdokument - Tour durch die Rustdoc-Funktionalität, einschließlich nicht aller bekannten Funktionen und ein wenig über seine Struktur;
- Projekt Mentat: ein Speicher für die Entwicklung von Daten in Rust - warum werden sie benötigt und wie ist Mozilla / Mentat angeordnet ( ca. Anfang September wurde das Projekt aufgrund einer Änderung der Prioritäten plötzlich eingefroren );
- C2Rust: Die Migration von Legacy-Code zu Rust ist eine weitere Möglichkeit ( Korrosion und Zitrusfrüchte ), um die Übersetzung der Codebasis von C nach Rust teilweise zu automatisieren, wie sie funktioniert, was besser / schlechter ist, wie überprüft wird, ob die Logik nicht fehlerhaft ist und welche Versuche unternommen werden in "Sicherheit" des generierten Codes;
- Das Gegenteil von Spaghetti Code: Building for Understanding - wie man Rust-Tools mit Bedacht einsetzt, um zuverlässige, verständliche und erweiterbare APIs zu erstellen;
- Mein kleines prozedurales Makro ist ein kleiner Ausflug in die Welt des Schreibens von prozeduralen Makros. wie sie funktionieren, wie sie sich von deklarativen unterscheiden, Beispiel und Rat;
- Schreiben von Kisten für Anfänger - Eine Tour durch Turtle - turtle.rs als Beispiel für eine Bibliothek zum Unterrichten von Programmierung, Rust als erste PL eines anderen, wie man die Komplexität hinter einer sehr einfachen API verbirgt und Funktionen einer Rasta auf sehr dosierte Weise herausgibt;
- Rust und die Webplattform : Ein Rookie's Guide ist der lange Weg des Internets zu WASM und wie Rust verbunden ist.
Bonus: Mehrere Rekorde aus Rust Köln eingetroffen:
Webassembly
WebRender, gfx-rs und gfx-Portabilität
In letzter Zeit gab es viel Motivation:
Rostiger Igrostroy
Was würden Sie aus Rust entfernen?
Ein interessantes Thema in / r / rust , wo Sie aus den Kommentaren alle Arten von Rauheit der Sprache herausfinden können.
Rusty Port FlatBuffers
Sie brachten den offiziellen Port von Google FlatBuffers nach Rust ( Diskussion ). Eine dicke Schicht von Tests, Fuzzing, Leistung und allem anderen ist vorhanden.
Fürchte dich nicht vor 1.0!
Eine interessante Diskussion in / r / rust ist, warum sich das Ökosystem langsam auf> 1,0 Pakete bewegt.
TLDR:
- Damit der Autor das Paket stabilisieren kann, muss er sicherstellen, dass das IPA angemessen ist - dafür muss er sehen, wie die Leute es verwenden. Viele Menschen verwenden keine Pakete <1,0 und warten auf ihre Stabilisierung - da sich die Stabilisierung verlangsamt;
- Für Benutzer: Wenn Sie stabilere Pakete wünschen, verwenden Sie instabile und geben Sie dem Autor Feedback.
- Für Autoren: Sorgen Sie sich nicht so sehr um Release 1.0.
ripgrep 0.10
ripgrep (rg) ist eine schnellere und bequemere Alternative zu klassischem grep (d. h. dem rostigen Gegenstück zu The Silver Searcher und ack).
Version 0.10 wurde veröffentlicht ( Diskussion , sehr unterhaltsam) - jetzt funktioniert es noch schneller, unterstützt PRCE2 und mehrzeilige Abfragen.
Außerdem hat es das ripgrep-Paket in das Ubuntu 18.10-Repository geschafft .
Alacritty 0.2
Alacritty ist ein GPU-beschleunigter Terminalemulator, der versucht, auf jedem 4K-Bildschirm sehr, sehr schnell zu sein.

Version 0.2 ( Diskussion ) mit Scroll-Unterstützung wurde veröffentlicht. Sie weigerten sich lange Zeit, es hinzuzufügen und sagten "use tmux", aber am Ende stellte sich heraus, dass eine Implementierung entstand, die nicht viel Leistung brachte.
Übrigens kriecht Alacritty wie ripgrep in Linux-Distributionen: zu Arch gebracht ;
Neuer RFC
Mit dem RFC ist es ziemlich praktisch zu sehen, in welche Richtung sich die Sprache bewegt. In der Überschrift jedes PR befindet sich ein Link „Gerendert“, über den der RFC in einer für Menschen lesbaren Form verfügbar ist.
RFC 2438 "Deny the overflowing_literals
Flusen RFC 2438 "Deny the overflowing_literals
Literale für die Ausgabe 2018" - overflowing_literals
in Rust 2018 sind ein schwerer Fehler, nicht nur eine Warnung.- RFC 2383 "Flusengründe" - fügt das Argument "Grund" hinzu, um zu dokumentieren, warum wir eine Art von Überprüfung deaktivieren möchten, und das neue Attribut "erwartet", für das die Überprüfung erforderlich ist.
- RFC 2437 "Rustfmt-Stabilität" - genaue Versuche, die Grenzen der Abwärtskompatibilität der automatischen Code-Formatierung zu skizzieren;
RFC 2535 "Or patterns, ie Foo(Bar(x) | Baz(x))
" - Zucker für OR in Vergleichen;- RFC 2545 "
static BLORP_NUMBERS: [u32; _] = [0, 8, 15];
" - Die Möglichkeit, die Größe von Arrays in eindeutigen Kontexten nicht explizit anzugeben, z. B.: static BLORP_NUMBERS: [u32; _] = [0, 8, 15];
static BLORP_NUMBERS: [u32; _] = [0, 8, 15];
- RFC 2361 "Einfacheres alternatives dbg! () Makro" ist ein weiterer Versuch,
dbg!
hinzuzufügen dbg!
Makro - RFC 2412 "Das Optimierungsattribut" - schlägt die Einführung eines benutzerdefinierten
#[optimize]
-Attributs vor, um Optimierungen auf Artikelebene anzupassen. - RFC 2544 "Machen Sie die Turbofish-Syntax überflüssig" - ein weiterer Versuch, "Turbo-Fische" zu töten (
::<>
, wie in foo::<Bar>()
);
RFC 2418 "Futures und Task-System zu libcore hinzufügen" wird erneut verschoben. Es ist nicht sein Schicksal, Teil der Rust2018-Innovationen zu werden.
In Rust 2018 wird die Importsemantik diskutiert .
In einer Zeile
Das ist alles, danke fürs Zuschauen!
Wenn ich keinen wichtigen Link oder Ereignis hinzugefügt habe, können Sie ihn gerne in den Kommentaren einfügen. :) :)
KAPV aus dem Artikel Sie möchten wissen , was Sie 2018 lernen können? Lerne Rost! , andere Bilder von den Standorten der jeweiligen Projekte.