|
1 | 1 | # Critical Priority |
2 | 2 |
|
3 | | -- Replace `clang` with `wasm-tools`. See [bytecodealliance/wasm-tools#2405]. |
| 3 | +- Replace `clang` with `wasm-tools`. See [`bytecodealliance/wasm-tools#2405`]. |
4 | 4 | - Compatibility with `wasm-bindgen`. |
5 | 5 | - Do we agree with the new name `js-bindgen`? Maybe `web-bindgen` is the most accurate? |
6 | 6 | - `#[js_sys]` is probably also not the ideal name. |
7 | 7 | - Stub implementation for non-supported targets. |
8 | 8 | - Add ourselves to the tool-conventions tool list. |
9 | 9 |
|
10 | | -[bytecodealliance/wasm-tools#2405]: https://github.com/bytecodealliance/wasm-tools/issues/2405 |
| 10 | +[`bytecodealliance/wasm-tools#2405`]: https://github.com/bytecodealliance/wasm-tools/issues/2405 |
11 | 11 |
|
12 | 12 | # High Priority |
13 | 13 |
|
14 | 14 | - Test Runner: |
15 | 15 | - Consider moving environment variables to CLI arguments. |
16 | 16 | - Lint and format TS files and minimize JS files. |
17 | | - - Add support for `--test-threads` and multithread tests where possible for `panic = "abort"`. |
| 17 | + - Add support for `--test-threads` and multi-threaded tests where possible for `panic = "abort"`. |
18 | 18 | - Add support for `panic = "unwind"`. |
19 | 19 | - Add support for `--force-run-in-process`. |
20 | 20 | - Add support for `--skip`, `--quiet`, `--show-output`, `--color` and `--format pretty`. |
21 | 21 | - E2E testing including output comparison with regular `cargo test`. Test output on failure |
22 | 22 | especially carefully. |
23 | 23 | - Design a way to let users set the default driver, overwrite and whitelist drivers globally or |
24 | 24 | for specific tests. |
25 | | - - Add multithread support when running with `target_feature = "atomics"` where possible. |
| 25 | + - Add multi-threading support when running with `target_feature = "atomics"` where possible. |
26 | 26 | - Crate feature to switch to `native-tls`. |
27 | 27 | - Add environment variable to set driver startup timeout. |
28 | 28 | - Properly emit errors when WebDrivers fail between startup and finish. Make sure we don't wait |
|
63 | 63 | - Version all names to make packages compatible with other versions of itself. |
64 | 64 | - Embed crate version to make linker capable of detecting unsupported versions. |
65 | 65 | - We still need to look into what happens with old files. We might need to delete them ourselves. |
66 | | -- Evaluate the output directory of our ASM objet files. Some ideas: |
| 66 | +- Evaluate the output directory of our ASM object files. Some ideas: |
67 | 67 | - Store them next to the output file. |
68 | 68 | - Pass an environment variable from a `build.rs` pointing to the target directory and go from |
69 | 69 | there. This seems to have failed. No build script instruction can reach the linker on Wasm. |
@@ -104,47 +104,48 @@ This is a list of upstream issues that could make our lives significantly easier |
104 | 104 |
|
105 | 105 | - LLVM v22 delivers support for the GC proposal, with which we can implement the `externref` table |
106 | 106 | much more efficiently. |
107 | | -- LLVM has incomplete GC support for our needs: [llvm/llvm-project#136594]. |
108 | | -- Stable `asm!` support for Wasm: [rust-lang/rust#136382]. |
109 | | -- `asm!` support with target features: [rust-lang/rust#113221] |
110 | | -- Verbatim `asm!` parameters: [rust-lang/rust#132083]. |
| 107 | +- LLVM has incomplete GC support for our needs: [`llvm/llvm-project#136594`]. |
| 108 | +- Stable `asm!` support for Wasm: [`rust-lang/rust#136382`]. |
| 109 | +- `asm!` support with target features: [`rust-lang/rust#113221`] |
| 110 | +- Verbatim `asm!` parameters: [`rust-lang/rust#132083`]. |
111 | 111 | - Better stable proc-macro support: |
112 | | - - `quote!`: [rust-lang/rust#54722]. |
113 | | - - Diagnostics: [rust-lang/rust#54140]. |
114 | | - - Execution in non-proc-macro crates: [rust-lang/rust#130856]. |
115 | | -- Elevate `wasm64-unknown-unknown` to tier 2: [rust-lang/rust#146944]. |
116 | | -- A way to flag proc-macros as `unsafe`: [rust-lang/rfcs#3715]. |
117 | | -- Link internal functions without exporting them: [rust-lang/rust#29603] or [rust-lang/rfcs#3834]. |
118 | | -- Our linker warnings should show up for users: [rust-lang/rust#136096]. |
| 112 | + - `quote!`: [`rust-lang/rust#54722`]. |
| 113 | + - Diagnostics: [`rust-lang/rust#54140`]. |
| 114 | + - Execution in non-proc-macro crates: [`rust-lang/rust#130856`]. |
| 115 | +- Elevate `wasm64-unknown-unknown` to tier 2: [`rust-lang/rust#146944`]. |
| 116 | +- A way to flag proc-macros as `unsafe`: [`rust-lang/rfcs#3715`]. |
| 117 | +- Link internal functions without exporting them: [`rust-lang/rust#29603`] or |
| 118 | + [`rust-lang/rfcs#3834`]. |
| 119 | +- Our linker warnings should show up for users: [`rust-lang/rust#136096`]. |
119 | 120 | - `TextDe/Encoder` could support `SharedArrayBuffer`s: |
120 | 121 | - [Chrome Bug](https://issues.chromium.org/issues/40102463) |
121 | 122 | - [Firefox Bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1561594) |
122 | | -- `TextDe/Encoder` could support resizable buffers: [whatwg/encoding#344]. |
123 | | -- `wasm-encoder` `io::Write` support: [bytecodealliance/wasm-tools#778] |
124 | | -- Improved test coverage data merging: [llvm/llvm-project#121194] |
125 | | -- Cargo support for local development pre-processing: [rust-lang/cargo#12552] or |
126 | | - [rust-lang/cargo#4511] |
| 123 | +- `TextDe/Encoder` could support resizable buffers: [`whatwg/encoding#344`]. |
| 124 | +- `wasm-encoder` `io::Write` support: [`bytecodealliance/wasm-tools#778`] |
| 125 | +- Improved test coverage data merging: [`llvm/llvm-project#121194`] |
| 126 | +- Cargo support for local development pre-processing: [`rust-lang/cargo#12552`] or |
| 127 | + [`rust-lang/cargo#4511`] |
127 | 128 | - Rust has an issue with duplicate symbols during tests. E.g. this prevents us from having unit |
128 | | - tests in `js-sys`. [rust-lang/rust#145616] |
| 129 | + tests in `js-sys`. [`rust-lang/rust#145616`] |
129 | 130 | - Currently `cargo metadata` doesn't list `build-std` dependencies. This is an issue for caching in |
130 | | - the CI, significantly increasing our build and test times. [rust-lang/wg-cargo-std-aware#20] |
| 131 | + the CI, significantly increasing our build and test times. [`rust-lang/wg-cargo-std-aware#20`] |
131 | 132 |
|
132 | | -[llvm/llvm-project#136594]: https://github.com/llvm/llvm-project/issues/136594 |
133 | | -[rust-lang/rust#136382]: https://github.com/rust-lang/rust/issues/136382 |
134 | | -[rust-lang/rust#113221]: https://github.com/rust-lang/rust/issues/113221 |
135 | | -[rust-lang/rust#132083]: https://github.com/rust-lang/rust/issues/132083 |
136 | | -[rust-lang/rust#54722]: https://github.com/rust-lang/rust/issues/54722 |
137 | | -[rust-lang/rust#54140]: https://github.com/rust-lang/rust/issues/54140 |
138 | | -[rust-lang/rust#130856]: https://github.com/rust-lang/rust/issues/130856 |
139 | | -[rust-lang/rust#146944]: https://github.com/rust-lang/rust/issues/146944 |
140 | | -[rust-lang/rfcs#3715]: https://github.com/rust-lang/rfcs/pull/3715 |
141 | | -[rust-lang/rust#29603]: https://github.com/rust-lang/rust/issues/29603 |
142 | | -[rust-lang/rfcs#3834]: https://github.com/rust-lang/rfcs/pull/3834 |
143 | | -[rust-lang/rust#136096]: https://github.com/rust-lang/rust/issues/136096 |
144 | | -[whatwg/encoding#344]: https://github.com/whatwg/encoding/issues/344 |
145 | | -[bytecodealliance/wasm-tools#778]: https://github.com/bytecodealliance/wasm-tools/issues/778 |
146 | | -[llvm/llvm-project#121194]: https://github.com/llvm/llvm-project/pull/121194 |
147 | | -[rust-lang/cargo#12552]: https://github.com/rust-lang/cargo/issues/12552 |
148 | | -[rust-lang/cargo#4511]: https://github.com/rust-lang/cargo/issues/4511 |
149 | | -[rust-lang/rust#145616]: https://github.com/rust-lang/rust/issues/145616 |
150 | | -[rust-lang/wg-cargo-std-aware#20]: https://github.com/rust-lang/wg-cargo-std-aware/issues/20 |
| 133 | +[`llvm/llvm-project#136594`]: https://github.com/llvm/llvm-project/issues/136594 |
| 134 | +[`rust-lang/rust#136382`]: https://github.com/rust-lang/rust/issues/136382 |
| 135 | +[`rust-lang/rust#113221`]: https://github.com/rust-lang/rust/issues/113221 |
| 136 | +[`rust-lang/rust#132083`]: https://github.com/rust-lang/rust/issues/132083 |
| 137 | +[`rust-lang/rust#54722`]: https://github.com/rust-lang/rust/issues/54722 |
| 138 | +[`rust-lang/rust#54140`]: https://github.com/rust-lang/rust/issues/54140 |
| 139 | +[`rust-lang/rust#130856`]: https://github.com/rust-lang/rust/issues/130856 |
| 140 | +[`rust-lang/rust#146944`]: https://github.com/rust-lang/rust/issues/146944 |
| 141 | +[`rust-lang/rfcs#3715`]: https://github.com/rust-lang/rfcs/pull/3715 |
| 142 | +[`rust-lang/rust#29603`]: https://github.com/rust-lang/rust/issues/29603 |
| 143 | +[`rust-lang/rfcs#3834`]: https://github.com/rust-lang/rfcs/pull/3834 |
| 144 | +[`rust-lang/rust#136096`]: https://github.com/rust-lang/rust/issues/136096 |
| 145 | +[`whatwg/encoding#344`]: https://github.com/whatwg/encoding/issues/344 |
| 146 | +[`bytecodealliance/wasm-tools#778`]: https://github.com/bytecodealliance/wasm-tools/issues/778 |
| 147 | +[`llvm/llvm-project#121194`]: https://github.com/llvm/llvm-project/pull/121194 |
| 148 | +[`rust-lang/cargo#12552`]: https://github.com/rust-lang/cargo/issues/12552 |
| 149 | +[`rust-lang/cargo#4511`]: https://github.com/rust-lang/cargo/issues/4511 |
| 150 | +[`rust-lang/rust#145616`]: https://github.com/rust-lang/rust/issues/145616 |
| 151 | +[`rust-lang/wg-cargo-std-aware#20`]: https://github.com/rust-lang/wg-cargo-std-aware/issues/20 |
0 commit comments