This Week in Rust and WebAssembly 11
Hello and welcome to another issue of This Week in Rust and WebAssembly!
Rust is a systems language pursuing the trifecta: safety, concurrency, and speed.
WebAssembly is a stack-based virtual machine and instruction set. It is fast, safe, portable, and part of the open Web platform. By compiling to WebAssembly, we can run Rust code on the Web!
This is a weekly summary of Rust and WebAssembly’s progress and community.
Did we miss something? Tweet to us at @rustwasm or send us a pull request.
Want to get involved in Rust and WebAssembly? Join the Rust and WebAssembly working group!
News and Blog Posts from Around the Web
Want to make sure something ends up on this list next time we publish an issue? Leave a comment on this issue.
- Parsing and rendering PSD files in the browser with Rust and WebAssembly
- Programmatically generating Islamic stars using the “Polygons in Contact” method with Rust-generated Wasm and Web GL
- Dust is a renderer written in Rust that has a backend for Wasm and Web GL
Updates from rustwasm/*
RFCs
New RFCs
None.
Merged RFCs
None.
console_error_panic_hook
- @fitzgen added error stacks to the message we log when a panic occurs. This works around bugs in both Safari’s and Firefox’s developer tools consoles.
js-sys
- @Pauan added convenience getters to
js_sys::Reflectfor getting properties keyed byu32andf64.
Twiggy🌱
- @data-pup fixed some unused-result warnings in Twiggy’s parser.
walrus
- @alexcrichton made GC’ing unused functions, globals, etc an explicit
pass in
walrus. It was previously performed implicitly as part of serializing a wasm module. - @alexcrichton implemented support for the reference types
proposal and
anyrefinwalrus. - @fitzgen added the ability to explicitly delete various wasm constructs (functions, tables, etc) from a wasm module, rather than just implicitly delete them by making them unused and then running a GC.
wasm-bindgen
- @alexcrichton added support for
Option<MyRustStruct>in parameters and return positions. - @alexcrichton added experimental support for using
anyrefinwasm-bindgen. - @fitzgen fixed a regression where DWARF debug info custom sections were always being included in the generated Wasm, even when debug info was not enabled.
- @alexcrichton added a flag to control whether the producers custom section is included in the generated wasm binary or not.
- @ctjhoa fixed some deprecation
warnings around the use
of
ATOMICS_*_INITinstead ofAtomic*::new.
wasm-snip
- @fitzgen ported
wasm-snipover to using thewalruscrate. This also removes the need towasm-gcagain after runningwasm-snip.
web-sys
- @selaux added a missing Web IDL
attribute to
HTMLMediaElementso thatweb-syscorrectly generates bindings to thesrcObjectproperty.
wee_alloc
- We released
wee_allocversion 0.4.3! 🎉 Among other things, this version will work on stable Rust as soon as 1.33 is released, which is scheduled for one week from today: 2019-02-28.
Requests for Contribution
Want to get involved in Rust and WebAssembly? Join the Rust and WebAssembly working group!
- All issues labeled “good first issue” in the
rustwasm/*repositories - All issues labeled “help wanted” in the
rustwasm/*repositories
Rust and WebAssembly