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::Reflect
for getting properties keyed byu32
andf64
.
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
anyref
inwalrus
. - @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
anyref
inwasm-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_*_INIT
instead ofAtomic*::new
.
wasm-snip
- @fitzgen ported
wasm-snip
over to using thewalrus
crate. This also removes the need towasm-gc
again after runningwasm-snip
.
web-sys
- @selaux added a missing Web IDL
attribute to
HTMLMediaElement
so thatweb-sys
correctly generates bindings to thesrcObject
property.
wee_alloc
- We released
wee_alloc
version 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