Skip to content

Commit 739b8a5

Browse files
committed
Add "This Week in Rust and WebAssembly 15"
1 parent 2656f39 commit 739b8a5

File tree

2 files changed

+151
-3
lines changed

2 files changed

+151
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
---
2+
title: "This Week in Rust and WebAssembly 15"
3+
---
4+
5+
Hello and welcome to another issue of *This Week in Rust and WebAssembly*!
6+
7+
[Rust](https://rust-lang.org) is a systems language pursuing the trifecta:
8+
safety, concurrency, and speed.
9+
10+
[WebAssembly](http://webassembly.org) is a stack-based virtual machine and
11+
instruction set. It is fast, safe, portable, and part of the open Web
12+
platform. By compiling to WebAssembly, we can run Rust code on the Web!
13+
14+
This is a weekly summary of Rust and WebAssembly's progress and community.
15+
16+
Did we miss something? Tweet to us at [@rustwasm](https://twitter.com/rustwasm)
17+
or [send us a pull request](https://github.com/rustwasm/rustwasm.github.io).
18+
19+
**Want to get involved in Rust and WebAssembly? [Join the Rust and WebAssembly working group!][get-involved]**
20+
21+
## News and Blog Posts from Around the Web
22+
23+
*Want to make sure something ends up on this list next time we publish an issue?
24+
[Leave a comment on this issue.](https://github.com/rustwasm/team/issues/79)*
25+
26+
* [**Standardizing WASI: A system interface to run WebAssembly outside the
27+
web**](https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/)
28+
* @alexcrichton already has a pull request to [add a `wasm32-unknown-wasi`
29+
target](https://github.com/rust-lang/rust/pull/59464) for Rust!
30+
* `RustVolley` is a reimplementation of the Blobby Volley 2 game in Rust and Wasm
31+
* [Source](https://github.com/RustyVolley/RustyVolleySrc)
32+
* [Live Demo](https://rustyvolley.github.io/WebDemo/)
33+
* [CloudFlare's new `wrangler` CLI tool lets you deploy Rust-generated Wasm on
34+
CloudFlare workers](https://blog.cloudflare.com/introducing-wrangler-cli/)
35+
* [Fastly open sources Lucet: a native WebAssembly compiler and
36+
runtime.](https://www.fastly.com/blog/announcing-lucet-fastly-native-webassembly-compiler-runtime)
37+
Its built with Rust on top of Cranelift and supports WASI.
38+
39+
## Updates from [`rustwasm/*`](https://github.com/rustwasm)
40+
41+
[**🎉 Welcome @Pauan to the Rust and WebAssembly working group core
42+
team! 🎉**](https://internals.rust-lang.org/t/welcome-pauan-to-the-rust-and-webassembly-domain-working-group-core-team/9707)
43+
44+
### RFCs
45+
46+
#### New RFCs
47+
48+
None.
49+
50+
#### Final Comment Period RFCs
51+
52+
* [Add an amendment to the RFC process](https://github.com/rustwasm/rfcs/pull/9)
53+
54+
#### Merged RFCs
55+
56+
None.
57+
58+
### Working Group Meetings
59+
60+
* [Watch the recording of this week's working group meeting on
61+
YouTube](https://www.youtube.com/watch?v=gaTwOc0eGb4)
62+
* [Come join us at next week's working group
63+
meeting!](https://github.com/rustwasm/team/issues/264)
64+
65+
### Gloo
66+
67+
* [**Gloo Update: Onion Layers, Timers, and
68+
Events**](https://rustwasm.github.io/2019/03/26/gloo-onion-layers.html)
69+
* @Aehmlo [split up the `gloo_timers` crate's public
70+
API](https://github.com/rustwasm/gloo/pull/38) to use `callbacks` and
71+
`futures` submodules, as we collectively agreed upon in other issues.
72+
* @cbrevik [implemented the `gloo_console_timer`
73+
crate,](https://github.com/rustwasm/gloo/pull/32) which provides scoped
74+
closures and RAII-style helpers for working with `console.time` and
75+
`console.timeEnd`.
76+
* @OddCoincidence [updated the `gloo_timers`
77+
internals](https://github.com/rustwasm/gloo/pull/48) to use
78+
`wasm_bindgen::closures::Closure::once` for `setTimeout`.
79+
* @RyLev added some initial [Azure Pipelines continuous integration
80+
tests](https://github.com/rustwasm/gloo/pull/46) for Gloo.
81+
* @David-OConnor added the [skeleton of an `mdbook`
82+
guide](https://github.com/rustwasm/gloo/pull/45) for Gloo.
83+
84+
### `wasm-bindgen`
85+
86+
* @alexcrichton [tweaked the `no-modules` target's generated JavaScript glue for
87+
instantiating Wasm
88+
modules](https://github.com/rustwasm/wasm-bindgen/pull/1384) to support
89+
CloudFlare workers (and other environments where `x instanceof
90+
WebAssembly.Module` might fail, like across `<iframe>`s)
91+
* @alexcrichton made it so that our emitted JS glue for reflecting Rust closures
92+
as JS functions will properly [detect and protect against use-after-free from
93+
the JS side.](https://github.com/rustwasm/wasm-bindgen/pull/1385)
94+
* @alexcrichton fixed a bug where Rust structs exported as JS [didn't always
95+
emit the JS classes glue in a deterministic
96+
order.](https://github.com/rustwasm/wasm-bindgen/pull/1383)
97+
* @fitzgen [made the "without a JS bundler" example use `wasm-pack build
98+
--target web`,](https://github.com/rustwasm/wasm-bindgen/pull/1382) now that
99+
its supported in the latest `wasm-pack` release.
100+
* @alexcrichton [cleaned up the `wasm-bindgen` CLI's
101+
options](https://github.com/rustwasm/wasm-bindgen/pull/1369) to take `--target
102+
blah` instead of `--blah` (which still exist but are deprecated).
103+
* @stevebob [enabled `mdbook`'s link checking tests for the `wasm-bindgen`
104+
guide](https://github.com/rustwasm/wasm-bindgen/pull/1358) to our continuous
105+
integration tests.
106+
* @alexcrichton [implemented
107+
`rustwasm/rfcs#8`](https://github.com/rustwasm/wasm-bindgen/pull/1305) to
108+
enable transitive crates dependencies on npm packages.
109+
* @RReverser [added the `constructor`
110+
property](https://github.com/rustwasm/wasm-bindgen/pull/1403) to
111+
`js_sys::Object`.
112+
* @alexcrichton [fixed sending large
113+
`u32`s](https://github.com/rustwasm/wasm-bindgen/pull/1401) from Wasm to JS.
114+
* @RReverser [consistently exposed
115+
`is_like_none`](https://github.com/rustwasm/wasm-bindgen/pull/1398) for our
116+
generated JS glue, fixing a bug along the way.
117+
* @RReverser [simplified the ABI
118+
representation](https://github.com/rustwasm/wasm-bindgen/pull/1397) of
119+
`Option<char>`.
120+
* @alexcrichton [migrated all the `wasm-bindgen-*`
121+
crates](https://github.com/rustwasm/wasm-bindgen/pull/1395) to Rust 2018
122+
edition.
123+
* @RReverser [made iterating over JS objects via the JS iteration protocol
124+
faster](https://github.com/rustwasm/wasm-bindgen/pull/1393) by removing
125+
redundant property string decoding.
126+
* @RReverser [made a special version of passing strings from JS to
127+
Wasm](https://github.com/rustwasm/wasm-bindgen/pull/1391) when we are
128+
targeting Node.js that is faster than using Node.js's `TextEncoder`
129+
implementation.
130+
131+
### `wasm-pack`
132+
133+
* @alexcrichton [fixed a panic](https://github.com/rustwasm/wasm-pack/pull/598)
134+
that could happen when installing the `wasm-bindgen` CLI tool.
135+
136+
## Requests for Contribution
137+
138+
**Want to get involved in Rust and WebAssembly? [Join the Rust and WebAssembly
139+
working group!][get-involved]**
140+
141+
[get-involved]: https://github.com/rustwasm/team/blob/master/README.md#get-involved
142+
143+
### New Good First Issues
144+
145+
* [`wasm-bindgen`: `.d.ts` file for `--web` target does not define the `init()` function](https://github.com/rustwasm/wasm-bindgen/issues/1390)
146+
* [`wasm-bindgen`: Closures should implement `std::fmt::Debug`](https://github.com/rustwasm/wasm-bindgen/issues/1387)
147+
* [Gloo: Help ensure we have tracking issues on file for making utility crates for all Web platform features](https://github.com/rustwasm/gloo/issues/41)
148+
149+
### New "Help Wanted" Issues
150+
151+
* [`wasm-bindgen`: Closures should accept references as arguments](https://github.com/rustwasm/wasm-bindgen/issues/1399)

template.md

-3
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,6 @@ or [send us a pull request](https://github.com/rustwasm/rustwasm.github.io).
7272
**Want to get involved in Rust and WebAssembly? [Join the Rust and WebAssembly
7373
working group!][get-involved]**
7474

75-
* [All issues labeled "good first issue" in the `rustwasm/*` repositories](https://github.com/issues?q=is%3Aopen+is%3Aissue+user%3Arustwasm+archived%3Afalse+label%3A%22good+first+issue%22)
76-
* [All issues labeled "help wanted" in the `rustwasm/*` repositories](https://github.com/issues?q=is%3Aopen+is%3Aissue+user%3Arustwasm+archived%3Afalse+label%3A%22help+wanted%22)
77-
7875
[get-involved]: https://github.com/rustwasm/team/blob/master/README.md#get-involved
7976

8077
### New Good First Issues

0 commit comments

Comments
 (0)