Leverage new rustc wasm features

This commit leverages two new attributes in the Rust compiler,
`#[wasm_custom_section]` and `#[wasm_import_module]`. These two attributes allow
removing a lot of hacks found in wasm-bindgen and also allows removing the
requirement of `wasm-opt` to remove the unused data sections.

This does require two new nightly features but we already required the
`proc_macro` nightly feature and these will hopefully be stabilized before that
feature!
This commit is contained in:
Alex Crichton
2018-03-14 14:33:53 -07:00
parent dc03e6c84a
commit 02b7021053
26 changed files with 110 additions and 170 deletions

View File

@ -4,7 +4,7 @@ extern crate test_support;
fn simple() {
test_support::project()
.file("src/lib.rs", r#"
#![feature(proc_macro)]
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
@ -56,7 +56,7 @@ fn simple() {
fn strings() {
test_support::project()
.file("src/lib.rs", r#"
#![feature(proc_macro)]
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
@ -114,7 +114,7 @@ fn strings() {
fn exceptions() {
test_support::project()
.file("src/lib.rs", r#"
#![feature(proc_macro)]
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
@ -179,7 +179,7 @@ fn exceptions() {
fn pass_one_to_another() {
test_support::project()
.file("src/lib.rs", r#"
#![feature(proc_macro)]
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
@ -229,7 +229,7 @@ fn pass_one_to_another() {
fn pass_into_js() {
test_support::project()
.file("src/lib.rs", r#"
#![feature(proc_macro)]
#![feature(proc_macro, wasm_custom_section, wasm_import_module)]
extern crate wasm_bindgen;
@ -276,7 +276,7 @@ fn pass_into_js() {
fn issue_27() {
test_support::project()
.file("src/lib.rs", r#"
#![feature(proc_macro)]
#![feature(proc_macro, wasm_custom_section)]
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;