My comment to the news about Rust 1.28 with a review of rusty events for the month went pretty well, so keep a very subjective cut of rusty news from last month.
In this collection: Rust 1.29, records of reports from Rustconf 2018, gfx-rs, Rust2018, port Flatbuffers, new versions of ripgrep and Alacritty.
Rust 1.29 has been released. The main innovations are immediately available from rustup
and cargo fix
and cargo clippy
(for more details see the habro translation ).
Next, version 1.29.1 was released, closing an error in std :: repeat ( discussion ).
Rust 1.30 and 1.31 will be very significant.
There is no exact list yet, but it is expected that :
Became available videos from RustConf 2018 ( program reports ). The list of videos is in the order of a very approximate subjective interest:
Bonus: several entries from Rust Cologne have arrived:
[habr] Yew - Rust & WebAsse-framework for frontend . Record of Denis's report about Yew on HolyJS ;
The wasm-bindgen Guide continues to grow;
wasm-pack 0.5 ( what is wasm-pack? )
Changes: the build
command is now incremental, the test
command was added, the site appeared ( details );
Web sys package came out ( discussion ) - a package that provides raw bindings to DOM, WebGL, WebAudio, timers, fetch, etc. manipulation tools. Over time, web-sys
will become part of stdweb ;
greenwasm - a new project on writing a Rust engine compatible with the WebAssembly specification;
Wasabi is a framework for dynamic WASM analysis.
There has been a lot of movement lately:
kvark (gfx-rs developer) went to devzen: DevZen # 210: Rastasman WebGPU :
In this issue: talking with a guest about how his life has changed after the transition from Rockstar Games to Mozilla; discuss the WebRender, WebGPU API and Vulkan Portability; do not bypass the topic of diversity;
Experimentally, Gecko was launched on Vulkan using WebRender ;
On iphone8, it was possible to launch gfx-hal with a Metal backend ;
RPCS3 and Dolphin on macOS using gfx-portability ( discussion ) - with the help of gfx-portability it was possible to launch a PlayStation3 emulator with a Vulkan backend;
Benchmarking gfx-portability versus MoltenVK and OpenGL with Dota2 on Mac ( discussion )
The nightly assemblies of the Citybound urban development simulator ( discussion ) are now available. The logic of the game remains on Rust, but the UI is now all on React / WASM.
_Pro Citybound was a great talk at RustFest ._
The physics engine nphysics brought basic support for deformable bodies ;
There was a lot of talk about the future of cgmath and nalgebra , one of the outcomes of which is the publication of nalgebra-glm ( discussion ) - a lightweight wrapper over the "adult" nalgebra ;
In connection with the talk about creating gamedev-wg , arewegameyet.rs has been significantly updated - information about a pile of rusty libraries and games has been added / updated;
Delaunator ( discussion ) - fast and easy library for Delaunay triangulation ;
Following the recent LD42 jam :
( Shameless "advertisement" ) started a topic on a Russian-speaking forum about his slowly developing step-by-step game Zemerot ;
An interesting topic in / r / rust , where you can learn from the comments decently all the irregularities of the language.
They brought the official port of google FlatBuffers to Rust ( discussion ). A thick layer of tests, fuzzing, performance and everything else are present.
An interesting discussion in / r / rust is why the ecosystem is slowly moving to> 1.0 packets.
TLDR:
ripgrep (rg) is a faster and more convenient alternative to classic grep (i.e., the rusty counterpart of The Silver Searcher and ack).
Version 0.10 has been released ( discussion , very entertaining) - now it works even faster, supports PRCE2 and multi-line queries.
Also, the ripgrep package snuck into the ubuntu 18.10 repository .
Alacritty is a GPU-accelerated terminal emulator that tries to be very, very fast on any 4K screen.
Version 0.2 ( discussion ) with scrolling support has been released. For a long time she refused to add it, saying “use tmux”, but in the end it turned out to give birth to an implementation that is not very productive.
By the way, like ripgrep, Alacritty crawls into Linux distributions: brought to Arch ;
By RFC, it is quite convenient to observe which way the language is moving. In each PR header, there is a "Rendered" link, under which the RFC is available in a readable form.
RFC 2438 "Deny the overflowing_literals
lint for the 2018 edition" - overflowing_literals
in Rust 2018 will be a hard error, not just a warning;RFC 2535 "Or patterns, ie Foo(Bar(x) | Baz(x))
" - sugar for OR in comparisons;static BLORP_NUMBERS: [u32; _] = [0, 8, 15];
static BLORP_NUMBERS: [u32; _] = [0, 8, 15];
dbg!
macro;#[optimize]
attribute to adjust the optimizations at the item level;::<>
, as in foo::<Bar>()
);RFC 2418 "Add futures and task system to libcore" is again postponed, it is not for him to become part of the innovations of Rust2018.
There is a discussion of the semantics of imports in Rust 2018 .
That's all, thank you for your attention!
If I have not added any important link or event, feel free to throw in the comments. :)
QDPV taken from the article Looking to what to learn in 2018? Learn Rust! , the rest of the pictures from the sites of relevant projects.
Source: https://habr.com/ru/post/425005/
All Articles