summaryrefslogtreecommitdiffstats
path: root/vendor/wasm-bindgen
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wasm-bindgen')
-rw-r--r--vendor/wasm-bindgen/.cargo-checksum.json2
-rw-r--r--vendor/wasm-bindgen/Cargo.toml10
-rw-r--r--vendor/wasm-bindgen/src/closure.rs8
-rw-r--r--vendor/wasm-bindgen/src/convert/closures.rs8
-rw-r--r--vendor/wasm-bindgen/src/convert/impls.rs12
-rw-r--r--vendor/wasm-bindgen/src/convert/slices.rs84
-rw-r--r--vendor/wasm-bindgen/src/convert/traits.rs27
-rw-r--r--vendor/wasm-bindgen/src/describe.rs1
-rw-r--r--vendor/wasm-bindgen/src/lib.rs52
-rw-r--r--vendor/wasm-bindgen/tests/wasm/api.rs1
-rw-r--r--vendor/wasm-bindgen/tests/wasm/classes.js4
-rw-r--r--vendor/wasm-bindgen/tests/wasm/closures.js2
-rw-r--r--vendor/wasm-bindgen/tests/wasm/closures.rs1
-rw-r--r--vendor/wasm-bindgen/tests/wasm/futures.js4
-rw-r--r--vendor/wasm-bindgen/tests/wasm/futures.rs10
-rw-r--r--vendor/wasm-bindgen/tests/wasm/import_class.js20
-rw-r--r--vendor/wasm-bindgen/tests/wasm/import_class.rs21
-rw-r--r--vendor/wasm-bindgen/tests/wasm/imports.js5
-rw-r--r--vendor/wasm-bindgen/tests/wasm/imports.rs12
-rw-r--r--vendor/wasm-bindgen/tests/wasm/intrinsics.rs3
-rw-r--r--vendor/wasm-bindgen/tests/wasm/jscast.rs1
-rw-r--r--vendor/wasm-bindgen/tests/wasm/link_to.js4
-rw-r--r--vendor/wasm-bindgen/tests/wasm/link_to.rs30
-rw-r--r--vendor/wasm-bindgen/tests/wasm/linked_module.js1
-rw-r--r--vendor/wasm-bindgen/tests/wasm/main.rs4
-rw-r--r--vendor/wasm-bindgen/tests/wasm/owned.js13
-rw-r--r--vendor/wasm-bindgen/tests/wasm/owned.rs35
-rw-r--r--vendor/wasm-bindgen/tests/wasm/simple.rs2
28 files changed, 342 insertions, 35 deletions
diff --git a/vendor/wasm-bindgen/.cargo-checksum.json b/vendor/wasm-bindgen/.cargo-checksum.json
index 74bb7190f..93e53d74e 100644
--- a/vendor/wasm-bindgen/.cargo-checksum.json
+++ b/vendor/wasm-bindgen/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"0df8b3bc12566111f27195b3a6e24210b2d974efdd1e46dec1980e743feef97c","CONTRIBUTING.md":"aa138d76f5cb25bba1a6942a230373aaed6be73c619f945cc4657e13ba69f897","Cargo.toml":"df86a1e4cac62cccd0de6ab815246906866c54f1a12a355f1047e8796759c3a6","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"8e0075aceb58e5db84b7debf46f7a3fde437573f46fe9aad6421a3a081575cbe","_package.json":"64c943903ffc064a2c5506e46fce690d7f566589d0d8e71804ec1638d1aabad5","build.rs":"95d57e593c411b82bf88819765d6422db2a65c1bf489b63f87e0aefeb721fc41","examples/README.md":"e5396e95d8130948e48b767ab505c46bc69f6ff3ebfe0d9709068cf42c250818","examples/import_js/README.md":"bb53d4a264e9a084effdc7a22ca7d5acca0207b411478b98782d881b7fcade51","examples/import_js/index.html":"f4825d155bfe0059aa182a506d6d076d1ba5f118e46365ac902b12f27a6c8c0d","examples/import_js/index.js":"d425b7b0636dc5c5046bc96e6bfe6ef3bb1503fa91c54f40ecb457a1b060ee5c","examples/import_js/package.json":"bbbfbfa1a62779e38ba30c920d27aefaaf10bf6add3a89a65b7d2b093c1fe017","examples/import_js/webpack.config.js":"fc314556d2f0c6266cde7c47afaceebe474be97c0401985a23d822ad9dd0105a","guide/book.toml":"d8cae5ae5fbeaab5b6852c64b975d37f51592a8e9eedba22c898672d9b11e9be","guide/src/SUMMARY.md":"073b7bf40c1979cf3e6215581fcbe9be49800a676a0fd60ea2b89fe9c555b200","guide/src/_headers":"401cee68df5967f0aa509a1b978a83f06e8e830deca1433964703e7a1ac2c646","guide/src/contributing/design/describe.md":"3186f9795be894708788e50d2ee745b9bd73bc94fb3dce67f3f1fd5e7fbd3659","guide/src/contributing/design/exporting-rust-struct.md":"24c6f2417797db6125484ae1bacfdfc058c0dbfa28638cbaa58ff5dbecc9b5d3","guide/src/contributing/design/exporting-rust.md":"4dd822967bf2fc111ad69c1dc4619715b692349208e8780dd8f54b571fb57e2e","guide/src/contributing/design/importing-js-struct.md":"848d0b144b28a5ae1ca3760438e71b938cfb2ee350f5b902fd08c38a0a64e27b","guide/src/contributing/design/importing-js.md":"c949c8921c213ba21b08f705d4611304acba47b68c35484fe968a80194f3a9ab","guide/src/contributing/design/index.md":"3bcd35bfadc3fa81d26dcac23f2e2ab5c3e2874cb6a88d0d892c5effe535fb04","guide/src/contributing/design/js-objects-in-rust.md":"0a18922b509ed8a6cc6724b81af6e6d469b75b3796dba770949a8b59d8067455","guide/src/contributing/design/rust-type-conversions.md":"efd7ddcc55770b5a2b68d542fd6aa128a9d4f60eaa5477481a1827c11b17dec0","guide/src/contributing/index.md":"e5115ccd2403b929d65acb9626bff8d66e10d1eb625a023ea017f2271a3e49c6","guide/src/contributing/js-sys/adding-more-apis.md":"d6626d530fa5b73f045a20bf123d5e261ac2ca3bd64cbb80b655612f9b9a6276","guide/src/contributing/js-sys/index.md":"9c0864ca52e8699148e789c2a6ba2d3044ba2358d7106a1b7fd725d3720dbb54","guide/src/contributing/js-sys/testing.md":"d1f613c88793ffce61b2d77aa40e3a91a1de3c73ab9f8eaedfc39da16c93ad07","guide/src/contributing/publishing.md":"012c31c7037ca084d0c2a65c2dfc0be6fcbe5c118307e9efbb4f6f781ae48e43","guide/src/contributing/team.md":"a3f993cb1afeee767e85077d135b1ea08850c433a69c436ebe6b7a48124ed945","guide/src/contributing/testing.md":"b6d45f2a177525e1fd9b7c8a0d47f0bc156a9327795bcb4d96716851f94ff2db","guide/src/contributing/web-sys/index.md":"6b4d5e00cbbcaab29295a3bd60e90b7f72b118758966622a307d9222488707c1","guide/src/contributing/web-sys/logging.md":"ee960ec9adc174183fb349acdbf5fc647b6f9a290022be9b118b9de37b8b5687","guide/src/contributing/web-sys/overview.md":"e6179317f75aa8e836e3c803f5d814e87119763709eea47b04cebc86c089d80a","guide/src/contributing/web-sys/supporting-more-web-apis.md":"984efae9c4241a105a1f5d6574cff7202f378c90ac648c4da815d97517da2b28","guide/src/contributing/web-sys/testing.md":"77f8e4b45bd0e27676dd503474bc32f91672b23c6ab7127a4f5b828dc8ea40e4","guide/src/examples/2d-canvas.md":"44a0eb82ec3398ee63a6df5aab103f1b002082eac2d129f656d8519cbc0829e7","guide/src/examples/2d-canvas.png":"b202cd79b20c00d49c40d71225eefea99306015858a432ceb7592d53c15300f7","guide/src/examples/add.md":"8dac740d6a4c499d868c29d8426d113da9cdd6ef22bf8084b8cf8c1de513b09c","guide/src/examples/char.md":"93f94a1b670322d0dc21b46d749909c414f9f254e2dd97afd8afe8cb0e5ab908","guide/src/examples/closures.md":"669dfc47a670271d7ce7a3bd2c08620b698b01ea8b2a7b1cc2047a77e7617130","guide/src/examples/console-log.md":"6552f4d766291cddc0eade75e4f64de9f10e00b89a0bedb1b15dcf7baa90b6e0","guide/src/examples/dom.md":"44ad74370b3727ec98f958273c639e767f2ae5b75e96ef53e74be1833a630272","guide/src/examples/fetch.md":"0f9d08e240bc5ced13ab154182aedef7fa7b00cba784c65727aa15be27f86d7c","guide/src/examples/hello-world.md":"d5f4d830c316a91e951cdaeab5cb23ae47dbc910b05de849e67bef1ea709564f","guide/src/examples/import-js.md":"0480a6aa32b1fdc1347cb3d0c4f2a006caeb33c75ed21eb78ad800f012cbc2c6","guide/src/examples/index.md":"4e629f42d7bfb52bc35856b6e21c3aa7433563482697212d7b54f1bf619b56ed","guide/src/examples/julia.md":"0cd4ae1de24d657d7869c984dec61cc8b796621365be633212bdb2a6d57ce727","guide/src/examples/paint.md":"06c6c04f121080e0e5600b4ad300df9e93b5d4b6342f42c421e6dec1f2955ced","guide/src/examples/performance.md":"de888713cf0a047bd4a28a1ca890be51d99b6aaabc9a2b134280b768a7148377","guide/src/examples/raytrace.md":"6769cf3b7bd14e9814e751927fde8c5acb443c5e82758285a1ee4f91e577a870","guide/src/examples/request-animation-frame.md":"26eef6b203acc0b2667d9c4380c39a44eb4b97991efeded9ca32cc9ab454e993","guide/src/examples/synchronous-instantiation.md":"c2f887e4754535c453d22438c3179d71d2468d8994a61330a362132c73157ef1","guide/src/examples/todomvc.md":"b872c5631eae969368d147342fca16dadb6f0412f8922230c27271370e9d3d97","guide/src/examples/wasm-audio-worklet.md":"dda392cb5beb75423bd402661d0de85de7acf5098e38ecf167533774b5b9977a","guide/src/examples/wasm-in-wasm.md":"5439a690e7107736e6f8b92e475f0a45e83ab9a1e5a0fe02e8f6dd93372590c6","guide/src/examples/wasm-in-web-worker.md":"8877a952ba93bbf52d85acb7a6a38d318e5638c36b86338156c4881cc704394f","guide/src/examples/wasm2js.md":"48f953dfa1b17b68e5d983231e991797e32e9bc22b9c3db72c2d055e08449a00","guide/src/examples/weather_report.md":"184bf64d58820b032a80c738050e7b2cd0042eb722f61c7e8a3c531239f72db2","guide/src/examples/web-audio.md":"32bb18c9e4f167614ce3fb61d1d04265449f88da40949834b50baf9e37063fbd","guide/src/examples/webgl.md":"15570a0a081c2301981a1fbca0bd39dfcf35221c64ddfb8e8f4477660658cb08","guide/src/examples/webrtc_datachannel.md":"47b06b1b00c41f048fad3c2206399cae2d8dbd90b6d83953c138826f11677eb5","guide/src/examples/websockets.md":"704f9d5c1d13426e6e64e132cb0204be3c10a54dbfa5f1c834adc4efb4a1b8d2","guide/src/examples/without-a-bundler.md":"1e5155e4cb042c4a8f561287b5ab09d3179b6dbcbfabfc540bbdfb9240f16865","guide/src/introduction.md":"057e81f8f62d8647e51d1269bdb5788654be2e22fea23d155ec5a15bbf8bae1d","guide/src/reference/accessing-properties-of-untyped-js-values.md":"a91e3eb706ddd15628072978906e2faca31560de616c0630316d9f6eff6b55bf","guide/src/reference/arbitrary-data-with-serde.md":"b281146412f6bda893f146e84721677f003cad57af941552c2faf534b61b2d98","guide/src/reference/attributes/index.md":"12b57ebbd0c9ba42d9f10d752c9943d9beec90d659d1b1ff9e9bfea02572a2c8","guide/src/reference/attributes/on-js-imports/catch.md":"da230e6986ca29f1e82313b82275ab9c3b2144906271cf82b27772541d781d84","guide/src/reference/attributes/on-js-imports/constructor.md":"89f8be11c567b4611c84209b34351238553d5360d7f7665ea25332e1544c5b99","guide/src/reference/attributes/on-js-imports/extends.md":"84ece37398ba0df66f890982315f082c52b5f027e03c20527755abe610c2567c","guide/src/reference/attributes/on-js-imports/final.md":"8d32d5053e9c1bc5df6fa7fe286a378895e47dea5ca067c8dddf99efe0aa5172","guide/src/reference/attributes/on-js-imports/getter-and-setter.md":"27f3c2738688a43e611524e5e3ab7174a1993026a69098b75780a388aeb5e745","guide/src/reference/attributes/on-js-imports/index.md":"2219a4514fe9597cbbe6c46014b57c38f1e85f3d0775a8a7880f50858cb13633","guide/src/reference/attributes/on-js-imports/indexing-getter-setter-deleter.md":"11d5c03f922294894fe0147fae96e04b26a5adb36ce91296e52729a9fe5931c2","guide/src/reference/attributes/on-js-imports/js_class.md":"d51c5f05b71bbf6b6ec8e0c36314ae299fd7eb07be989e721b79b599405b3486","guide/src/reference/attributes/on-js-imports/js_name.md":"12457466f3510256a51a78f52b09f7cb1c0b0ce3ef636e028cd2c372fa9e8738","guide/src/reference/attributes/on-js-imports/js_namespace.md":"e523dffa8b3110f1a17390d6bcc6c9c41c23e0a1e549f68a0aaec153ee2d228d","guide/src/reference/attributes/on-js-imports/method.md":"d54246efce5d7a104702439ba509bcc5bfbb0b57253edebdb696617daca80bcd","guide/src/reference/attributes/on-js-imports/module.md":"b47cd5ccbb69955f1d47101accc96fcd562abecbf7e34826f7f3c585d6b9dad0","guide/src/reference/attributes/on-js-imports/no_deref.md":"7d58bb3b6f768e38b949727abd1ee621ad09ebc537f83a8a20d0eeddf3771b95","guide/src/reference/attributes/on-js-imports/raw_module.md":"f363e5f3bc401b7e350eeec49cffde85dfb2346d597f38d98993fe5bfb9ff649","guide/src/reference/attributes/on-js-imports/static_method_of.md":"d5a5d9623ee55097f26e190b478e75f2e7d2ffc30e51ec647f39933d3d4e3b18","guide/src/reference/attributes/on-js-imports/structural.md":"364e01a5792029e9a5fa582375736efcee006352834ee273d218da89b77dd8bf","guide/src/reference/attributes/on-js-imports/typescript_type.md":"9cae454e9134ca1d14e2af3c732f370335332c615bf03ac49e525ff6f1877cbc","guide/src/reference/attributes/on-js-imports/variadic.md":"1ecf00149be472e3111f188c053092f3274fb33453414516a305084d8e92c4df","guide/src/reference/attributes/on-js-imports/vendor_prefix.md":"47a8d47e0cd745cca697f6d944e145f02695ca422255c3d6e1c9b2b719994b1b","guide/src/reference/attributes/on-rust-exports/constructor.md":"d3878fdb36174e5662ccfdf0fb027ef8175a7f8ca14ccca875217e03f5d5be1d","guide/src/reference/attributes/on-rust-exports/getter-and-setter.md":"464a2d41a791bd8ba5a8b1c4aa64b2f865c42b98a2d1289bb65e766e98a1b56a","guide/src/reference/attributes/on-rust-exports/getter_with_clone.md":"11a04dba4d66c19be0e234014d21ccf9cd0b76169b723e90ceb81d719478f283","guide/src/reference/attributes/on-rust-exports/index.md":"9fe778a0dd013a874db484cb22b1d9867bfe6d69cfbbe5cfeaa8ab78cf19daab","guide/src/reference/attributes/on-rust-exports/inspectable.md":"52fbcfdb83c426430a95692d566a4709255e25b24be5704d7378a4196a8c5908","guide/src/reference/attributes/on-rust-exports/js_class.md":"f4c0d8e8021001578f7d300e88c438d1a7806c17cc0d8acc3b4134922a75affc","guide/src/reference/attributes/on-rust-exports/js_name.md":"77f035b6391b9e44f254a411ba18687c5fa6110e276be73b5ea347701c8dad42","guide/src/reference/attributes/on-rust-exports/readonly.md":"a5da847ad36557f03b1c79a83d14c219dce914021266133c204260bc041b9b89","guide/src/reference/attributes/on-rust-exports/skip.md":"b9972241b8d473d1a46ef3c2861065ca296cdc923883c404f19f1d859bf914a6","guide/src/reference/attributes/on-rust-exports/skip_typescript.md":"1622c29b0d93a884bd0b5b2a62107a594e2919758c80592566e7786efe788b89","guide/src/reference/attributes/on-rust-exports/start.md":"00acf5bcc40abea6ba89a20dab20e2cb17396ce07fc75d15bba0351dd9b7de81","guide/src/reference/attributes/on-rust-exports/typescript_custom_section.md":"9b96a30f81dd5e218953b85d823e429356723e8a6cd8aff3be0869b10d849a0a","guide/src/reference/attributes/on-rust-exports/typescript_type.md":"ffbacc6b690912ea085831d855ad37c495b483fdf27444f2988e69591e0edabb","guide/src/reference/browser-support.md":"aac94e3609d89a23dc274756be11cf2a87409070fae30a161cc61230dbfabd22","guide/src/reference/cli.md":"5a3fe5530842b32ec949568e923afd15adfede266f20863c1f69e45a2c02742c","guide/src/reference/deployment.md":"0e03b847ffc4adcd9285cf5c8cbbd3917898e763b985a65a73893bd7c2ebe430","guide/src/reference/index.md":"c603c3a7f265afb7c7b5eb391b32f6115f8842f3f422fd3730be4f90c4796bc4","guide/src/reference/iterating-over-js-values.md":"ec00f09516eb7de98bf7296f44b6aa9ceee3fae1dcdb7cdf8f36963d45b7ebeb","guide/src/reference/js-promises-and-rust-futures.md":"5f0c0b990f5b55c8d9485f7cc66a617f79cc232705562f306af97785c7ed1f79","guide/src/reference/js-snippets.md":"dff5adcbf66f06322e606c672ef070c2a0375f1ae592ca8a9da36a50324735cc","guide/src/reference/optimize-size.md":"c10abc1ea0902c9a57b74808bcf75bf092c0c2bb4082962b85d18df7593602c1","guide/src/reference/passing-rust-closures-to-js.md":"aa18f75ffd4b7779a2699b1bf969245ec0e1a70b24abe61e8877c2eb65f6ef60","guide/src/reference/receiving-js-closures-in-rust.md":"fc9c80ba5e1a5f243a66f68caba27e8103652aeac3765a9fad2d0e16113fede3","guide/src/reference/reference-types.md":"91d178b7fe2ec82eec4d8926a08b39ac16898172d6f65aee84347c6918033c67","guide/src/reference/rust-targets.md":"467d5cf7eaa1d4b89f9f5b2248cdd1a10340ca1db263ffff5c483ce10dcfbf54","guide/src/reference/types.md":"859123f51fa932fa37d7e47cd5c46956929793bd3accea050d3be516080ed78f","guide/src/reference/types/bool.md":"e954d93ec5096837d4dd2db3f23e71c14483279e347ca8908ecb49aded6e497a","guide/src/reference/types/boxed-jsvalue-slice.md":"634e51ce92770e6078ca3303be946272af3f092f2703c90601ed8f9092c69a53","guide/src/reference/types/boxed-number-slices.md":"1a217a68ff549f4208f99863d6616521c9d466542c1156bcc2be7d3a73e4edd4","guide/src/reference/types/char.md":"01f2f7bdb25a9a52edd93dcbbca6a29269a8d5adf6cb94dcadea29a7aace22f4","guide/src/reference/types/exported-rust-types.md":"d2f601d7d39ae92326c5624e1e2a2795f1f47accb92ec030c987b6c709681906","guide/src/reference/types/imported-js-types.md":"e12807f46bb55f4ad9dfde4cd683b3e7f9ee79302e5a0250ef24a52bd7ef71a3","guide/src/reference/types/jsvalue.md":"46d74da47f8a517249de4dd096351c10d658d9c3535950a34c1fc5d5b42eb2f7","guide/src/reference/types/number-slices.md":"f380258fc058527c7dd6f49664a4e9dff69f0b03d626071aeb61efefb2a0b646","guide/src/reference/types/numbers.md":"cce95c07be08c1f16327fd4c7e79b7c480db9cc95e2b07514d31e51bd6122101","guide/src/reference/types/pointers.md":"3710b736f790a97a325b1883d5fa8104c16365446ef702e9dd29bda74699043e","guide/src/reference/types/result.md":"78be87e86c35d2bbc1b863217c1a7592af9f2c699902f44e22d1bc4b1c0664c0","guide/src/reference/types/str.md":"6cc086b02ae3d3565678e69d91dbf105f1f310009097a37fad4c812e25d4b7c0","guide/src/reference/types/string.md":"9e42298135e0aec11bb924e3a2b5002335cfe290240b48db12dc981156177cd0","guide/src/reference/weak-references.md":"8dc6ca26c478fceff12e374e11e2f01fdf5b6a88b7302d449d4336859f4efe8a","guide/src/reference/working-with-duck-typed-interfaces.md":"a23f1f98019fed2060e1fbce954ec457e77a3a17524f34ca861d256d2ad4b6ef","guide/src/wasm-bindgen-test/asynchronous-tests.md":"c24c381b719b4bd7b0c181da1db59170e822c142eb22f95c4a6eeb8fd36df3ab","guide/src/wasm-bindgen-test/browsers.md":"d8619911d57d56eb027cb040f3456a55d0f14f670c50e4eb2e58c1331206dde4","guide/src/wasm-bindgen-test/continuous-integration.md":"5865990ef231b3c99a9c1bc18f7b7f054a29b77ac7b671fcf1cd6bb4f4304ae8","guide/src/wasm-bindgen-test/index.md":"64fbcd222c3c597109d2717a3574abf2041ff325c26ee07d58c4cd7ba1c1f8ad","guide/src/wasm-bindgen-test/usage.md":"a1da64eaaf8fe9bea366724e08a4ba63dc984f86a28cc393fe00dc394ab244d6","guide/src/web-sys/cargo-features.md":"0e50067a7a46cee3d1b21a2690aabc539379cb1452de377ebaa0eaa4e5e587b2","guide/src/web-sys/function-overloads.md":"90a08bb955f7c79e573f83c31d5e7431ae1e3ad7001792ff8ff52e4299364fcd","guide/src/web-sys/index.md":"345499d0840fd23a2e5eb5ac497665decbb3f836fe9f4f88301ae4b5fbd8d44f","guide/src/web-sys/inheritance.md":"8f18af20b930497e2fae4a266dd27e317d1ea3510266c21b32f351354b495ff2","guide/src/web-sys/type-translations.md":"687ef5e4a3961fddcb94d24f69abec0ea64f6df306f4593974b69589215980b1","guide/src/web-sys/unstable-apis.md":"e74c3e72136d6906dd60258a27f34e1ea4612e7c8e95662596475dc557151cfb","guide/src/web-sys/using-web-sys.md":"523e16af6e27703a4a0582568bc97710350222af20801907268d2d8c197fb667","publish.rs":"6352715cf06a9e373a141e34991fa97ec5bdeb0ce7d623a4fbbe9448ef1bea35","releases/friends.sh":"f896ccdcb8445d29ed6dd0d9a360f94d4f33af2f1cc9965e7bb38b156c45949d","releases/release-announcement-template.md":"fcb3c75cdb8d5d6ce8a198f5570c967313f751d1eef0790b34a518772b2e8a38","src/cache/intern.rs":"b78abd7502ad069bbeb61073d1972c717a469849222037565b50514192c187a9","src/cache/mod.rs":"8989143b55160dbc142cb20c6e066cf0a3f70d6c97fbc9aa0fac59bd62bd865b","src/cast.rs":"195cb94e25bcfc2116472272baf1345b3ca2657280daf49d724defd3886cac52","src/closure.rs":"877179da24fbe510bad3959761b239a2a41c1eabec613b24449009c60f93838e","src/convert/closures.rs":"06679377bca9e6853033572b6a8dc2620381b1607deabc20cc55d17fe59da6b3","src/convert/impls.rs":"8e2caeb0d9e62eb98bdcf5383865e42b350afdb82812a2b8b1c4631edb068123","src/convert/mod.rs":"566ffd1f546afdb8d24c6c0d6faa00a28596a67ca6f2f39e9485add54400443c","src/convert/slices.rs":"3a6bdd428d8b844eb81f4682d462a322d9e28a6b780aa9cb44ac823b0fa9d28a","src/convert/traits.rs":"1505d64b0ca0b5d7e81f8e1f04a259bc70a7ab39131fcb461b59170e85d82b3d","src/describe.rs":"677c2f516a701264830cfbef2cba40371c0cbf4204b9cf62d7b7fb6d1cffbfe9","src/externref.rs":"cc1883fd0e0a2c64421fd12326908c0fd9aa73bba618c89cf17cc2efacd3fe70","src/lib.rs":"32c2b51e11c73921cc7c8c3be42c372b2c472a0afe37052206e0c25a8c18ac67","tests/headless/externref_heap_live_count.rs":"41b2758762c91bd2d05995b1b8989651a6bf2e586ffad5597ff63f6d2dc6d755","tests/headless/main.js":"6de0a19b91330e9bc68334c4f1fa11c1cd6bf273f5ea3e470933ad800c962679","tests/headless/main.rs":"d86245fdd476cb6c275c0649d76fd348ab55b7952ece325c1ed4ec00051a1f73","tests/headless/modules.js":"a407c81d2670309ed484adf98a2e522f6ea031b1286416eb7bf184df7433d5da","tests/headless/modules.rs":"74f77f88bb5280862c06087d78c48ba930736e58db9a1e6c80450bb0e032b789","tests/headless/snippets.rs":"baf9d3c68e1b567fcba4e073cc0d24a8f039955e10dd1275e4a389574ff556d7","tests/headless/snippets1.js":"8bd0c367fdbc61f509728255750094bb36200a1aea74079611ad7cfa9c5f3f28","tests/headless/strings.js":"fca2d7a1afae31663607f956134a4f447aaee0f85d828addc3c4c1440f2e18e5","tests/headless/strings.rs":"4a64d8a4f9329a282d0f87408c0645ded71a7d023eaad40a32eaf60886a08375","tests/must_use.rs":"cae67a8740cd2c969a6b33316cd5036639048d9bbfecf55a5f45faaa624de1d0","tests/non_wasm.rs":"fbc7f10d3604f3c867f031cd218c2b29af2b42b1225495837ad5560878930ab9","tests/std-crate-no-std-dep.rs":"47f0e32bad7b9b11ca77d66d904eb3408c3528732899479039fb6db4c6e9ed9e","tests/unwrap_throw.rs":"79f05fa37249cea08689592d53d856019a90fd1b72c41413f7fcda5cf5913356","tests/wasm/api.js":"daf4b7e2b76b718431235eda5e221dd53037fb6bebbec6023c7e3fd2b806f763","tests/wasm/api.rs":"7b0894f72025088d586597f4b6e5a745b74406afde8998f3012e30191247f37d","tests/wasm/arg_names.js":"0d7de3801257e18756a974bdd2950d2fb06755f7c0d1c681e03b56d97e828e34","tests/wasm/arg_names.rs":"decd8f71a58ebf662a586b7f19e41f6666782df0da74a8a2c69b7a504661dd79","tests/wasm/bigint.js":"b6d045afbbb7d5e8723b41ee2e9c22357c8c4c4aed804bbca2a9b42a19906354","tests/wasm/bigint.rs":"5a7e0e6e6753a5ce08c199334fd89f1cfeabc1305301d988d6f748e001ccfa2c","tests/wasm/char.js":"6f307035f2689f0827726503f201f8fd591100ff051a55bda23ddcaeaa2902f1","tests/wasm/char.rs":"44dc134f9057e6c91da32c7fdba5ba10785507ced161c07267548ee08308e6c0","tests/wasm/classes.js":"62e5b31ca25d1a9678f85f0c4aff8380c5d1a8d4a7ddfea01abc1adbb8b3c880","tests/wasm/classes.rs":"5a0267be5cf432f892e8e24f1f6558ddbe9a88298096ffd82998348e852062f3","tests/wasm/closures.js":"b2f4cad6f16c394c9ff47d29335d31a37011b2dccc5aee4a8757c5b1d90e4de0","tests/wasm/closures.rs":"903a049000cc47bb8623c0de9f79b626830f1cdde5b69ebf2185ea6fa54d71c3","tests/wasm/comments.js":"2c3bf2e79ecc33f0fba33d13a91a1ae9390f9f7a466af8eb215636662e20462a","tests/wasm/comments.rs":"5a0068fe3e214c07da92a46b6e45a2771fbd8e04f14cb7802f32082b87a459a0","tests/wasm/duplicate_deps.js":"2226e4f65525c545ab45109879b16b2a92341b440178e75d3a9efb3ed10f7b03","tests/wasm/duplicate_deps.rs":"3a91569e54f56e178dc164f2d2b8537ec6a10b3161c23e1cc8e552805cd868f4","tests/wasm/duplicates.rs":"a2b4a7960e8a7c9b3fda943e8aadb7cbc0ba8fa1a6956baf40ba2f129bd591ee","tests/wasm/duplicates_a.js":"d3d685e95a54b911c2b9a64f7c0f245e3e492491368355044ae2cd12c3332044","tests/wasm/duplicates_b.js":"cd6c87905a5c5514239bba52a03e6c151d79a57a477f52a073b61ef18c98f642","tests/wasm/duplicates_c.js":"93399409996d182b5fe02548d3c5c3e1681939629e0261d6f19f8c1ee3b08dfc","tests/wasm/enums.js":"7b37ce390aba76477e4d54c5214624cfc5eec49e0f88ef6f535f06f23527864f","tests/wasm/enums.rs":"1537fda37a051340722c29cb5aadc9e1819a2e609f2569ca4fd972308d03fc7f","tests/wasm/final.js":"cfa7c496291f08b98f0406190ee4deaab9ade890d65ada4c223a76135e66f619","tests/wasm/final.rs":"25b0a85e87686e3f7a7a44e3ac25402d504eec7f9813a74ffd63c5f4428ee0ff","tests/wasm/futures.js":"bbf23eeef87e1d6d59ae62c5bddd9d8b77bf76fc08886332f7f140b207b3cb22","tests/wasm/futures.rs":"7418487a8a706675753ee65e1fc24c49d1743ff5dac7f8a165b527d928138c96","tests/wasm/getters_and_setters.js":"8ba2d939aab232074860cdf1e01d1c58faee49a31ef35b585c962aceccb870a5","tests/wasm/getters_and_setters.rs":"e25a2d026375adda68b4591f2802ad941e0a212fca8d7ff6cf020eb5da5fa5c7","tests/wasm/import_class.js":"16e8269479a1354598901f38bd3ec4ee2a8847df59932b55999e9923e369db03","tests/wasm/import_class.rs":"5ce1419eb5342d377578ea1eac60fe31502f32eb8579625496cc4883e5210daf","tests/wasm/imports.js":"0d38ba5259f2dd19575394400ba0cbf9ef7a5f3e61ea19d43b87f46b52065391","tests/wasm/imports.rs":"0e4f38e6b3113cb3ba7c732a3c3ac36ff7cdd318764789d2deabe8de982a4810","tests/wasm/imports_2.js":"ab251fc0a0a1921c60d316160bc120fd97da3c3753804174cfda2f08ff43208d","tests/wasm/intrinsics.rs":"cc8da8e3ee50e5c8e2adf210bdf624d7a2c27becc615cd8ab560f30f1b983641","tests/wasm/js_keywords.js":"d247be675cc73540fea4b2e50bb2b7fcedb2b0d511d85be6fb646876d3025562","tests/wasm/js_keywords.rs":"8a8d619c2930686ce1130034273d248f7f86f4bcc8fb202bee07d240e711baf6","tests/wasm/js_objects.js":"a2be00dab58716e4cbbaeba4da8512ba924c39d3f1cb405ba769ab8a780ed7fc","tests/wasm/js_objects.rs":"86725cea9aec227e562409b9f3f96ff70cf57f21eb4ccdbe96de7ec64504244e","tests/wasm/jscast.js":"d678058645d2d370c45ec5fd5bc9b94612b1e70035a9e0f524c134369f06fe1d","tests/wasm/jscast.rs":"f9abd0442be8f5b28e135c7d6a671a65939d0ff0ba993537c06b2be968145bcd","tests/wasm/main.rs":"07641dcc4d3280529b963abba0a75c80379b793879c8cbd68a23a1fe31147c5c","tests/wasm/math.js":"9deb196ab7ad3d5d1f98d7d0b6ee60cb125212a4a1281ba0141cc3713fdea892","tests/wasm/math.rs":"be9000d84c6b6b091455e3b20ee7f5a88dbcfc0d38db97fad3dd167970c4b4a3","tests/wasm/no_shims.rs":"83636fee1ae0ae5b98d76b7f62f637824e77edd7a55fb27749b1a88b3910d6f6","tests/wasm/node.js":"ec3a9500773c7f07a7bcf002e23aa3848be5208147c3d750281a1e1f6d899af1","tests/wasm/node.rs":"fe140900d7048353ce0e518a1e67dedb1928f0cf34c02514498184fd8aef10cc","tests/wasm/option.js":"0d0cba722045698e9621f2565acf854bf3085c8739622798085aaa6b58e3edbe","tests/wasm/option.rs":"d82123f7349e22873e636341a52e99e256213e77d4d7ab8450ba6379be2128b7","tests/wasm/optional_primitives.js":"37484639631e1c50bdc055a08babff18d4be9f7a9291f0f3395e1a7c519e5cac","tests/wasm/optional_primitives.rs":"502803cf27b78dd8a6c1d75ae954b71cc017f803486867a87c0474e5d53a6567","tests/wasm/result.js":"78212259f886d864885eca7599199434bd7abec915a2e7fa3b73dfe63284e15c","tests/wasm/result.rs":"2aab9c8a7c05b44bbd99b40800fb6fd08dd2cb498740219c9defec059cd4a637","tests/wasm/result_jserror.js":"3ea04e68937f15d869535b3bb119d8886dfcde3c16c12c4a18a995f358552154","tests/wasm/result_jserror.rs":"d168239fc71078f23a820e8959050e15965b86be047ab17c19c1befa35a82b4e","tests/wasm/rethrow.js":"0a495a8d1b735277e18cc3fc3edf8bd2a72586441d3884134182e5052786ab84","tests/wasm/rethrow.rs":"59dcf192c9e85b0d98031c135d2aa2eda4902a2bc5b740a9ddf1e75dc9cdd23e","tests/wasm/simple.js":"3890fa19585d031821e8db80de06593e8e5ce83c9ba8214fe1cef319e9c14fbb","tests/wasm/simple.rs":"5487804ed159538fa8722444c9c2db8929b6056692ae67991d72489f90194849","tests/wasm/slice.js":"2e3c42c6ebeb832f42e99e4f251817bd13083eff0b7c45c46fb4d7ab2aa740cd","tests/wasm/slice.rs":"511eb693d0ac56bde149c37039fb207ee4f0b1b92db2a809306f5ac80d578dbd","tests/wasm/structural.js":"ac504a1dbb7222c70270530a284eec56ace0bc47b95e8f9331f4b2df1d28c3f9","tests/wasm/structural.rs":"dda0e9cea09b94dd84ae39d6cf0949aa305062b7a466fdcb53370f5ee9e3dff5","tests/wasm/truthy_falsy.rs":"b54206b376f7413c9cce1792df65f57ed1e97660b4be8d9486e9c6af00f6893f","tests/wasm/usize.js":"521714b75033d9e18117de2cae2cd690c477faa88daefbbc82a09e60f4e901a8","tests/wasm/usize.rs":"b97455844d1f7acfbae7fcc69ec0bd8de871201281e802173a62574b8f3d7983","tests/wasm/validate_prt.js":"a726a85f4805648d9e69c804a266bbedaed942228a1b3a46274a91bcb83eafe9","tests/wasm/validate_prt.rs":"cea3db07f10d2bf057af99b90655179371bccf1db67e7364d476b00ecbf24a93","tests/wasm/variadic.js":"30d3bb656c0eb29b69c7e653f3201b5210b8a78e962b4678336c4d9889182adb","tests/wasm/variadic.rs":"1cabd34ad64475cc705853a2b9a8f619f6aed6ee3f3d8179793f8198df1ac178","tests/wasm/vendor_prefix.js":"1424c7fea77fea13179a50030afeffdf4b277dcb6d7b1e5ce3eea681ec2c47f4","tests/wasm/vendor_prefix.rs":"eabd627e14e09ec637d7e7a5b0bccced7e3370203351e4ce8610a5c66fac502b"},"package":"eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"} \ No newline at end of file
+{"files":{"CHANGELOG.md":"0df8b3bc12566111f27195b3a6e24210b2d974efdd1e46dec1980e743feef97c","CONTRIBUTING.md":"aa138d76f5cb25bba1a6942a230373aaed6be73c619f945cc4657e13ba69f897","Cargo.toml":"46ca67fd47f9f09a417899f5cce9f6c8f1ec5df7241b442e7aafbe090c7836d4","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"8e0075aceb58e5db84b7debf46f7a3fde437573f46fe9aad6421a3a081575cbe","_package.json":"64c943903ffc064a2c5506e46fce690d7f566589d0d8e71804ec1638d1aabad5","build.rs":"95d57e593c411b82bf88819765d6422db2a65c1bf489b63f87e0aefeb721fc41","examples/README.md":"e5396e95d8130948e48b767ab505c46bc69f6ff3ebfe0d9709068cf42c250818","examples/import_js/README.md":"bb53d4a264e9a084effdc7a22ca7d5acca0207b411478b98782d881b7fcade51","examples/import_js/index.html":"f4825d155bfe0059aa182a506d6d076d1ba5f118e46365ac902b12f27a6c8c0d","examples/import_js/index.js":"d425b7b0636dc5c5046bc96e6bfe6ef3bb1503fa91c54f40ecb457a1b060ee5c","examples/import_js/package.json":"bbbfbfa1a62779e38ba30c920d27aefaaf10bf6add3a89a65b7d2b093c1fe017","examples/import_js/webpack.config.js":"fc314556d2f0c6266cde7c47afaceebe474be97c0401985a23d822ad9dd0105a","guide/book.toml":"d8cae5ae5fbeaab5b6852c64b975d37f51592a8e9eedba22c898672d9b11e9be","guide/src/SUMMARY.md":"12790854714da23e87538237af28a4f74d32cf4a2929c79327f58eec707e186c","guide/src/_headers":"401cee68df5967f0aa509a1b978a83f06e8e830deca1433964703e7a1ac2c646","guide/src/contributing/design/describe.md":"3186f9795be894708788e50d2ee745b9bd73bc94fb3dce67f3f1fd5e7fbd3659","guide/src/contributing/design/exporting-rust-struct.md":"2ead6b67f241bab543bb96c80e90b63abd67822a7c94190d2f2d1c9809a59b87","guide/src/contributing/design/exporting-rust.md":"4dd822967bf2fc111ad69c1dc4619715b692349208e8780dd8f54b571fb57e2e","guide/src/contributing/design/importing-js-struct.md":"848d0b144b28a5ae1ca3760438e71b938cfb2ee350f5b902fd08c38a0a64e27b","guide/src/contributing/design/importing-js.md":"c949c8921c213ba21b08f705d4611304acba47b68c35484fe968a80194f3a9ab","guide/src/contributing/design/index.md":"3bcd35bfadc3fa81d26dcac23f2e2ab5c3e2874cb6a88d0d892c5effe535fb04","guide/src/contributing/design/js-objects-in-rust.md":"0a18922b509ed8a6cc6724b81af6e6d469b75b3796dba770949a8b59d8067455","guide/src/contributing/design/rust-type-conversions.md":"efd7ddcc55770b5a2b68d542fd6aa128a9d4f60eaa5477481a1827c11b17dec0","guide/src/contributing/index.md":"e5115ccd2403b929d65acb9626bff8d66e10d1eb625a023ea017f2271a3e49c6","guide/src/contributing/js-sys/adding-more-apis.md":"d6626d530fa5b73f045a20bf123d5e261ac2ca3bd64cbb80b655612f9b9a6276","guide/src/contributing/js-sys/index.md":"9c0864ca52e8699148e789c2a6ba2d3044ba2358d7106a1b7fd725d3720dbb54","guide/src/contributing/js-sys/testing.md":"d1f613c88793ffce61b2d77aa40e3a91a1de3c73ab9f8eaedfc39da16c93ad07","guide/src/contributing/publishing.md":"012c31c7037ca084d0c2a65c2dfc0be6fcbe5c118307e9efbb4f6f781ae48e43","guide/src/contributing/team.md":"a3f993cb1afeee767e85077d135b1ea08850c433a69c436ebe6b7a48124ed945","guide/src/contributing/testing.md":"b6d45f2a177525e1fd9b7c8a0d47f0bc156a9327795bcb4d96716851f94ff2db","guide/src/contributing/web-sys/index.md":"6b4d5e00cbbcaab29295a3bd60e90b7f72b118758966622a307d9222488707c1","guide/src/contributing/web-sys/logging.md":"ee960ec9adc174183fb349acdbf5fc647b6f9a290022be9b118b9de37b8b5687","guide/src/contributing/web-sys/overview.md":"e6179317f75aa8e836e3c803f5d814e87119763709eea47b04cebc86c089d80a","guide/src/contributing/web-sys/supporting-more-web-apis.md":"984efae9c4241a105a1f5d6574cff7202f378c90ac648c4da815d97517da2b28","guide/src/contributing/web-sys/testing.md":"77f8e4b45bd0e27676dd503474bc32f91672b23c6ab7127a4f5b828dc8ea40e4","guide/src/examples/2d-canvas.md":"44a0eb82ec3398ee63a6df5aab103f1b002082eac2d129f656d8519cbc0829e7","guide/src/examples/2d-canvas.png":"b202cd79b20c00d49c40d71225eefea99306015858a432ceb7592d53c15300f7","guide/src/examples/add.md":"8dac740d6a4c499d868c29d8426d113da9cdd6ef22bf8084b8cf8c1de513b09c","guide/src/examples/char.md":"93f94a1b670322d0dc21b46d749909c414f9f254e2dd97afd8afe8cb0e5ab908","guide/src/examples/closures.md":"669dfc47a670271d7ce7a3bd2c08620b698b01ea8b2a7b1cc2047a77e7617130","guide/src/examples/console-log.md":"6552f4d766291cddc0eade75e4f64de9f10e00b89a0bedb1b15dcf7baa90b6e0","guide/src/examples/dom.md":"44ad74370b3727ec98f958273c639e767f2ae5b75e96ef53e74be1833a630272","guide/src/examples/fetch.md":"0f9d08e240bc5ced13ab154182aedef7fa7b00cba784c65727aa15be27f86d7c","guide/src/examples/hello-world.md":"d5f4d830c316a91e951cdaeab5cb23ae47dbc910b05de849e67bef1ea709564f","guide/src/examples/import-js.md":"0480a6aa32b1fdc1347cb3d0c4f2a006caeb33c75ed21eb78ad800f012cbc2c6","guide/src/examples/index.md":"4e629f42d7bfb52bc35856b6e21c3aa7433563482697212d7b54f1bf619b56ed","guide/src/examples/julia.md":"0cd4ae1de24d657d7869c984dec61cc8b796621365be633212bdb2a6d57ce727","guide/src/examples/paint.md":"06c6c04f121080e0e5600b4ad300df9e93b5d4b6342f42c421e6dec1f2955ced","guide/src/examples/performance.md":"de888713cf0a047bd4a28a1ca890be51d99b6aaabc9a2b134280b768a7148377","guide/src/examples/raytrace.md":"6769cf3b7bd14e9814e751927fde8c5acb443c5e82758285a1ee4f91e577a870","guide/src/examples/request-animation-frame.md":"26eef6b203acc0b2667d9c4380c39a44eb4b97991efeded9ca32cc9ab454e993","guide/src/examples/synchronous-instantiation.md":"c2f887e4754535c453d22438c3179d71d2468d8994a61330a362132c73157ef1","guide/src/examples/todomvc.md":"b872c5631eae969368d147342fca16dadb6f0412f8922230c27271370e9d3d97","guide/src/examples/wasm-audio-worklet.md":"dda392cb5beb75423bd402661d0de85de7acf5098e38ecf167533774b5b9977a","guide/src/examples/wasm-in-wasm.md":"5439a690e7107736e6f8b92e475f0a45e83ab9a1e5a0fe02e8f6dd93372590c6","guide/src/examples/wasm-in-web-worker.md":"8877a952ba93bbf52d85acb7a6a38d318e5638c36b86338156c4881cc704394f","guide/src/examples/wasm2js.md":"48f953dfa1b17b68e5d983231e991797e32e9bc22b9c3db72c2d055e08449a00","guide/src/examples/weather_report.md":"184bf64d58820b032a80c738050e7b2cd0042eb722f61c7e8a3c531239f72db2","guide/src/examples/web-audio.md":"32bb18c9e4f167614ce3fb61d1d04265449f88da40949834b50baf9e37063fbd","guide/src/examples/webgl.md":"15570a0a081c2301981a1fbca0bd39dfcf35221c64ddfb8e8f4477660658cb08","guide/src/examples/webrtc_datachannel.md":"47b06b1b00c41f048fad3c2206399cae2d8dbd90b6d83953c138826f11677eb5","guide/src/examples/websockets.md":"704f9d5c1d13426e6e64e132cb0204be3c10a54dbfa5f1c834adc4efb4a1b8d2","guide/src/examples/without-a-bundler.md":"1e5155e4cb042c4a8f561287b5ab09d3179b6dbcbfabfc540bbdfb9240f16865","guide/src/introduction.md":"057e81f8f62d8647e51d1269bdb5788654be2e22fea23d155ec5a15bbf8bae1d","guide/src/reference/accessing-properties-of-untyped-js-values.md":"a91e3eb706ddd15628072978906e2faca31560de616c0630316d9f6eff6b55bf","guide/src/reference/arbitrary-data-with-serde.md":"b281146412f6bda893f146e84721677f003cad57af941552c2faf534b61b2d98","guide/src/reference/attributes/index.md":"12b57ebbd0c9ba42d9f10d752c9943d9beec90d659d1b1ff9e9bfea02572a2c8","guide/src/reference/attributes/on-js-imports/catch.md":"da230e6986ca29f1e82313b82275ab9c3b2144906271cf82b27772541d781d84","guide/src/reference/attributes/on-js-imports/constructor.md":"89f8be11c567b4611c84209b34351238553d5360d7f7665ea25332e1544c5b99","guide/src/reference/attributes/on-js-imports/extends.md":"84ece37398ba0df66f890982315f082c52b5f027e03c20527755abe610c2567c","guide/src/reference/attributes/on-js-imports/final.md":"8d32d5053e9c1bc5df6fa7fe286a378895e47dea5ca067c8dddf99efe0aa5172","guide/src/reference/attributes/on-js-imports/getter-and-setter.md":"27f3c2738688a43e611524e5e3ab7174a1993026a69098b75780a388aeb5e745","guide/src/reference/attributes/on-js-imports/index.md":"2219a4514fe9597cbbe6c46014b57c38f1e85f3d0775a8a7880f50858cb13633","guide/src/reference/attributes/on-js-imports/indexing-getter-setter-deleter.md":"11d5c03f922294894fe0147fae96e04b26a5adb36ce91296e52729a9fe5931c2","guide/src/reference/attributes/on-js-imports/js_class.md":"d51c5f05b71bbf6b6ec8e0c36314ae299fd7eb07be989e721b79b599405b3486","guide/src/reference/attributes/on-js-imports/js_name.md":"12457466f3510256a51a78f52b09f7cb1c0b0ce3ef636e028cd2c372fa9e8738","guide/src/reference/attributes/on-js-imports/js_namespace.md":"e523dffa8b3110f1a17390d6bcc6c9c41c23e0a1e549f68a0aaec153ee2d228d","guide/src/reference/attributes/on-js-imports/method.md":"d54246efce5d7a104702439ba509bcc5bfbb0b57253edebdb696617daca80bcd","guide/src/reference/attributes/on-js-imports/module.md":"b47cd5ccbb69955f1d47101accc96fcd562abecbf7e34826f7f3c585d6b9dad0","guide/src/reference/attributes/on-js-imports/no_deref.md":"7d58bb3b6f768e38b949727abd1ee621ad09ebc537f83a8a20d0eeddf3771b95","guide/src/reference/attributes/on-js-imports/raw_module.md":"f363e5f3bc401b7e350eeec49cffde85dfb2346d597f38d98993fe5bfb9ff649","guide/src/reference/attributes/on-js-imports/static_method_of.md":"d5a5d9623ee55097f26e190b478e75f2e7d2ffc30e51ec647f39933d3d4e3b18","guide/src/reference/attributes/on-js-imports/structural.md":"364e01a5792029e9a5fa582375736efcee006352834ee273d218da89b77dd8bf","guide/src/reference/attributes/on-js-imports/typescript_type.md":"9cae454e9134ca1d14e2af3c732f370335332c615bf03ac49e525ff6f1877cbc","guide/src/reference/attributes/on-js-imports/variadic.md":"1ecf00149be472e3111f188c053092f3274fb33453414516a305084d8e92c4df","guide/src/reference/attributes/on-js-imports/vendor_prefix.md":"47a8d47e0cd745cca697f6d944e145f02695ca422255c3d6e1c9b2b719994b1b","guide/src/reference/attributes/on-rust-exports/constructor.md":"d3878fdb36174e5662ccfdf0fb027ef8175a7f8ca14ccca875217e03f5d5be1d","guide/src/reference/attributes/on-rust-exports/getter-and-setter.md":"464a2d41a791bd8ba5a8b1c4aa64b2f865c42b98a2d1289bb65e766e98a1b56a","guide/src/reference/attributes/on-rust-exports/getter_with_clone.md":"11a04dba4d66c19be0e234014d21ccf9cd0b76169b723e90ceb81d719478f283","guide/src/reference/attributes/on-rust-exports/index.md":"9fe778a0dd013a874db484cb22b1d9867bfe6d69cfbbe5cfeaa8ab78cf19daab","guide/src/reference/attributes/on-rust-exports/inspectable.md":"52fbcfdb83c426430a95692d566a4709255e25b24be5704d7378a4196a8c5908","guide/src/reference/attributes/on-rust-exports/js_class.md":"f4c0d8e8021001578f7d300e88c438d1a7806c17cc0d8acc3b4134922a75affc","guide/src/reference/attributes/on-rust-exports/js_name.md":"77f035b6391b9e44f254a411ba18687c5fa6110e276be73b5ea347701c8dad42","guide/src/reference/attributes/on-rust-exports/readonly.md":"a5da847ad36557f03b1c79a83d14c219dce914021266133c204260bc041b9b89","guide/src/reference/attributes/on-rust-exports/skip.md":"b9972241b8d473d1a46ef3c2861065ca296cdc923883c404f19f1d859bf914a6","guide/src/reference/attributes/on-rust-exports/skip_typescript.md":"1622c29b0d93a884bd0b5b2a62107a594e2919758c80592566e7786efe788b89","guide/src/reference/attributes/on-rust-exports/start.md":"bd020f0f003190f2be0c50a9a0091063470386af373f9a957df27b55bce9065e","guide/src/reference/attributes/on-rust-exports/typescript_custom_section.md":"9b96a30f81dd5e218953b85d823e429356723e8a6cd8aff3be0869b10d849a0a","guide/src/reference/attributes/on-rust-exports/typescript_type.md":"1960cbeea1047a0fdb936e3af4556ae805e9777323076b9f3820cb3986f27de6","guide/src/reference/browser-support.md":"aac94e3609d89a23dc274756be11cf2a87409070fae30a161cc61230dbfabd22","guide/src/reference/cli.md":"3d311ffc4b1caaf8f7a4dbe9ec6439ff732223ebfccd3c23c142e54d84159acd","guide/src/reference/deployment.md":"0e03b847ffc4adcd9285cf5c8cbbd3917898e763b985a65a73893bd7c2ebe430","guide/src/reference/index.md":"c603c3a7f265afb7c7b5eb391b32f6115f8842f3f422fd3730be4f90c4796bc4","guide/src/reference/iterating-over-js-values.md":"ec00f09516eb7de98bf7296f44b6aa9ceee3fae1dcdb7cdf8f36963d45b7ebeb","guide/src/reference/js-promises-and-rust-futures.md":"5f0c0b990f5b55c8d9485f7cc66a617f79cc232705562f306af97785c7ed1f79","guide/src/reference/js-snippets.md":"dff5adcbf66f06322e606c672ef070c2a0375f1ae592ca8a9da36a50324735cc","guide/src/reference/optimize-size.md":"c10abc1ea0902c9a57b74808bcf75bf092c0c2bb4082962b85d18df7593602c1","guide/src/reference/passing-rust-closures-to-js.md":"aa18f75ffd4b7779a2699b1bf969245ec0e1a70b24abe61e8877c2eb65f6ef60","guide/src/reference/receiving-js-closures-in-rust.md":"fc9c80ba5e1a5f243a66f68caba27e8103652aeac3765a9fad2d0e16113fede3","guide/src/reference/reference-types.md":"91d178b7fe2ec82eec4d8926a08b39ac16898172d6f65aee84347c6918033c67","guide/src/reference/rust-targets.md":"467d5cf7eaa1d4b89f9f5b2248cdd1a10340ca1db263ffff5c483ce10dcfbf54","guide/src/reference/static-js-objects.md":"930288fc463d16a46a6546f5f65af21ff6e4b94259d9a1e8bca9d660f9770604","guide/src/reference/types.md":"859123f51fa932fa37d7e47cd5c46956929793bd3accea050d3be516080ed78f","guide/src/reference/types/bool.md":"e954d93ec5096837d4dd2db3f23e71c14483279e347ca8908ecb49aded6e497a","guide/src/reference/types/boxed-jsvalue-slice.md":"634e51ce92770e6078ca3303be946272af3f092f2703c90601ed8f9092c69a53","guide/src/reference/types/boxed-number-slices.md":"1a217a68ff549f4208f99863d6616521c9d466542c1156bcc2be7d3a73e4edd4","guide/src/reference/types/char.md":"01f2f7bdb25a9a52edd93dcbbca6a29269a8d5adf6cb94dcadea29a7aace22f4","guide/src/reference/types/exported-rust-types.md":"d2f601d7d39ae92326c5624e1e2a2795f1f47accb92ec030c987b6c709681906","guide/src/reference/types/imported-js-types.md":"e12807f46bb55f4ad9dfde4cd683b3e7f9ee79302e5a0250ef24a52bd7ef71a3","guide/src/reference/types/jsvalue.md":"46d74da47f8a517249de4dd096351c10d658d9c3535950a34c1fc5d5b42eb2f7","guide/src/reference/types/number-slices.md":"f380258fc058527c7dd6f49664a4e9dff69f0b03d626071aeb61efefb2a0b646","guide/src/reference/types/numbers.md":"cce95c07be08c1f16327fd4c7e79b7c480db9cc95e2b07514d31e51bd6122101","guide/src/reference/types/pointers.md":"3710b736f790a97a325b1883d5fa8104c16365446ef702e9dd29bda74699043e","guide/src/reference/types/result.md":"78be87e86c35d2bbc1b863217c1a7592af9f2c699902f44e22d1bc4b1c0664c0","guide/src/reference/types/str.md":"6cc086b02ae3d3565678e69d91dbf105f1f310009097a37fad4c812e25d4b7c0","guide/src/reference/types/string.md":"9e42298135e0aec11bb924e3a2b5002335cfe290240b48db12dc981156177cd0","guide/src/reference/weak-references.md":"8dc6ca26c478fceff12e374e11e2f01fdf5b6a88b7302d449d4336859f4efe8a","guide/src/reference/working-with-duck-typed-interfaces.md":"a23f1f98019fed2060e1fbce954ec457e77a3a17524f34ca861d256d2ad4b6ef","guide/src/wasm-bindgen-test/asynchronous-tests.md":"c24c381b719b4bd7b0c181da1db59170e822c142eb22f95c4a6eeb8fd36df3ab","guide/src/wasm-bindgen-test/browsers.md":"d8619911d57d56eb027cb040f3456a55d0f14f670c50e4eb2e58c1331206dde4","guide/src/wasm-bindgen-test/continuous-integration.md":"5865990ef231b3c99a9c1bc18f7b7f054a29b77ac7b671fcf1cd6bb4f4304ae8","guide/src/wasm-bindgen-test/index.md":"64fbcd222c3c597109d2717a3574abf2041ff325c26ee07d58c4cd7ba1c1f8ad","guide/src/wasm-bindgen-test/usage.md":"a1da64eaaf8fe9bea366724e08a4ba63dc984f86a28cc393fe00dc394ab244d6","guide/src/web-sys/cargo-features.md":"0e50067a7a46cee3d1b21a2690aabc539379cb1452de377ebaa0eaa4e5e587b2","guide/src/web-sys/function-overloads.md":"90a08bb955f7c79e573f83c31d5e7431ae1e3ad7001792ff8ff52e4299364fcd","guide/src/web-sys/index.md":"345499d0840fd23a2e5eb5ac497665decbb3f836fe9f4f88301ae4b5fbd8d44f","guide/src/web-sys/inheritance.md":"8f18af20b930497e2fae4a266dd27e317d1ea3510266c21b32f351354b495ff2","guide/src/web-sys/type-translations.md":"687ef5e4a3961fddcb94d24f69abec0ea64f6df306f4593974b69589215980b1","guide/src/web-sys/unstable-apis.md":"e74c3e72136d6906dd60258a27f34e1ea4612e7c8e95662596475dc557151cfb","guide/src/web-sys/using-web-sys.md":"523e16af6e27703a4a0582568bc97710350222af20801907268d2d8c197fb667","publish.rs":"6352715cf06a9e373a141e34991fa97ec5bdeb0ce7d623a4fbbe9448ef1bea35","releases/friends.sh":"f896ccdcb8445d29ed6dd0d9a360f94d4f33af2f1cc9965e7bb38b156c45949d","releases/release-announcement-template.md":"fcb3c75cdb8d5d6ce8a198f5570c967313f751d1eef0790b34a518772b2e8a38","src/cache/intern.rs":"b78abd7502ad069bbeb61073d1972c717a469849222037565b50514192c187a9","src/cache/mod.rs":"8989143b55160dbc142cb20c6e066cf0a3f70d6c97fbc9aa0fac59bd62bd865b","src/cast.rs":"195cb94e25bcfc2116472272baf1345b3ca2657280daf49d724defd3886cac52","src/closure.rs":"29fc2562075146d0f6c927ab818ca12391701781173b28d5ff72f8c28ec42159","src/convert/closures.rs":"f2d841494b866d7b147a79945ea4cfd8b6503e7553a0eac66e720521f094cbfb","src/convert/impls.rs":"53b99adb5f6c50b19bf1936952693e226c0e86b703c20ff29859ad9fa25996ef","src/convert/mod.rs":"566ffd1f546afdb8d24c6c0d6faa00a28596a67ca6f2f39e9485add54400443c","src/convert/slices.rs":"ec1d91b1285844e03a954ab67e18c3edc22aa65ebb964833ea42b75aa570d7fc","src/convert/traits.rs":"8069282f34bed4829296850b44ede16b3c0103a1c85acc62c233e4d7b43edda8","src/describe.rs":"f17b1d44ea933d892e7dcd5b92f191434d8772cbcfd65468e0a6c7fd0e77f910","src/externref.rs":"cc1883fd0e0a2c64421fd12326908c0fd9aa73bba618c89cf17cc2efacd3fe70","src/lib.rs":"bb07d69c56b1143a61d6e136033ca710c14dfcdf3ef262e10ec8fc45af26141c","tests/headless/externref_heap_live_count.rs":"41b2758762c91bd2d05995b1b8989651a6bf2e586ffad5597ff63f6d2dc6d755","tests/headless/main.js":"6de0a19b91330e9bc68334c4f1fa11c1cd6bf273f5ea3e470933ad800c962679","tests/headless/main.rs":"d86245fdd476cb6c275c0649d76fd348ab55b7952ece325c1ed4ec00051a1f73","tests/headless/modules.js":"a407c81d2670309ed484adf98a2e522f6ea031b1286416eb7bf184df7433d5da","tests/headless/modules.rs":"74f77f88bb5280862c06087d78c48ba930736e58db9a1e6c80450bb0e032b789","tests/headless/snippets.rs":"baf9d3c68e1b567fcba4e073cc0d24a8f039955e10dd1275e4a389574ff556d7","tests/headless/snippets1.js":"8bd0c367fdbc61f509728255750094bb36200a1aea74079611ad7cfa9c5f3f28","tests/headless/strings.js":"fca2d7a1afae31663607f956134a4f447aaee0f85d828addc3c4c1440f2e18e5","tests/headless/strings.rs":"4a64d8a4f9329a282d0f87408c0645ded71a7d023eaad40a32eaf60886a08375","tests/must_use.rs":"cae67a8740cd2c969a6b33316cd5036639048d9bbfecf55a5f45faaa624de1d0","tests/non_wasm.rs":"fbc7f10d3604f3c867f031cd218c2b29af2b42b1225495837ad5560878930ab9","tests/std-crate-no-std-dep.rs":"47f0e32bad7b9b11ca77d66d904eb3408c3528732899479039fb6db4c6e9ed9e","tests/unwrap_throw.rs":"79f05fa37249cea08689592d53d856019a90fd1b72c41413f7fcda5cf5913356","tests/wasm/api.js":"daf4b7e2b76b718431235eda5e221dd53037fb6bebbec6023c7e3fd2b806f763","tests/wasm/api.rs":"568fc014130d0d6dba5829bd577a91b645dde7a13061c187da872695cf731563","tests/wasm/arg_names.js":"0d7de3801257e18756a974bdd2950d2fb06755f7c0d1c681e03b56d97e828e34","tests/wasm/arg_names.rs":"decd8f71a58ebf662a586b7f19e41f6666782df0da74a8a2c69b7a504661dd79","tests/wasm/bigint.js":"b6d045afbbb7d5e8723b41ee2e9c22357c8c4c4aed804bbca2a9b42a19906354","tests/wasm/bigint.rs":"5a7e0e6e6753a5ce08c199334fd89f1cfeabc1305301d988d6f748e001ccfa2c","tests/wasm/char.js":"6f307035f2689f0827726503f201f8fd591100ff051a55bda23ddcaeaa2902f1","tests/wasm/char.rs":"44dc134f9057e6c91da32c7fdba5ba10785507ced161c07267548ee08308e6c0","tests/wasm/classes.js":"9a476a12b6ad6efd5f917517543d4cbb647aff1d174d110705f02124327a431c","tests/wasm/classes.rs":"5a0267be5cf432f892e8e24f1f6558ddbe9a88298096ffd82998348e852062f3","tests/wasm/closures.js":"6df2da8bad116c9ef244f35f4f14d1fd432e6faf43df30882c6464a521cc606c","tests/wasm/closures.rs":"a481b286e80df4b100e955b1d463b7f9b1dcf1f41f236cac2bbd08cf94f9ddc1","tests/wasm/comments.js":"2c3bf2e79ecc33f0fba33d13a91a1ae9390f9f7a466af8eb215636662e20462a","tests/wasm/comments.rs":"5a0068fe3e214c07da92a46b6e45a2771fbd8e04f14cb7802f32082b87a459a0","tests/wasm/duplicate_deps.js":"2226e4f65525c545ab45109879b16b2a92341b440178e75d3a9efb3ed10f7b03","tests/wasm/duplicate_deps.rs":"3a91569e54f56e178dc164f2d2b8537ec6a10b3161c23e1cc8e552805cd868f4","tests/wasm/duplicates.rs":"a2b4a7960e8a7c9b3fda943e8aadb7cbc0ba8fa1a6956baf40ba2f129bd591ee","tests/wasm/duplicates_a.js":"d3d685e95a54b911c2b9a64f7c0f245e3e492491368355044ae2cd12c3332044","tests/wasm/duplicates_b.js":"cd6c87905a5c5514239bba52a03e6c151d79a57a477f52a073b61ef18c98f642","tests/wasm/duplicates_c.js":"93399409996d182b5fe02548d3c5c3e1681939629e0261d6f19f8c1ee3b08dfc","tests/wasm/enums.js":"7b37ce390aba76477e4d54c5214624cfc5eec49e0f88ef6f535f06f23527864f","tests/wasm/enums.rs":"1537fda37a051340722c29cb5aadc9e1819a2e609f2569ca4fd972308d03fc7f","tests/wasm/final.js":"cfa7c496291f08b98f0406190ee4deaab9ade890d65ada4c223a76135e66f619","tests/wasm/final.rs":"25b0a85e87686e3f7a7a44e3ac25402d504eec7f9813a74ffd63c5f4428ee0ff","tests/wasm/futures.js":"175745daafcaed4cc0233809f4829228528c87030459645e8493b013cd3e9f98","tests/wasm/futures.rs":"ae9bb3180e8db20f4bf1e1271081f3a201acb4d19601074b0944ecefdd763171","tests/wasm/getters_and_setters.js":"8ba2d939aab232074860cdf1e01d1c58faee49a31ef35b585c962aceccb870a5","tests/wasm/getters_and_setters.rs":"e25a2d026375adda68b4591f2802ad941e0a212fca8d7ff6cf020eb5da5fa5c7","tests/wasm/import_class.js":"d1bd1dc7df5bfde686bea6fbcd32db6009b6853712cafb446af263fdebb1fb78","tests/wasm/import_class.rs":"62995cfa8ff20bee29e288e46aa8f5d74b9485a5bcc8e1708fb99934ed2fe851","tests/wasm/imports.js":"4069b7cf12ae0cca30a1e92750d0715e782a5c795ff21c0d5aae738f726ae8b1","tests/wasm/imports.rs":"6d14da460098c6fc6cdd78479ff3410884374681a1f7444b826df47e423e8f53","tests/wasm/imports_2.js":"ab251fc0a0a1921c60d316160bc120fd97da3c3753804174cfda2f08ff43208d","tests/wasm/intrinsics.rs":"1eac40553375d1e5250a9242df19837d1b448296d53ceb41f842c80996e958e9","tests/wasm/js_keywords.js":"d247be675cc73540fea4b2e50bb2b7fcedb2b0d511d85be6fb646876d3025562","tests/wasm/js_keywords.rs":"8a8d619c2930686ce1130034273d248f7f86f4bcc8fb202bee07d240e711baf6","tests/wasm/js_objects.js":"a2be00dab58716e4cbbaeba4da8512ba924c39d3f1cb405ba769ab8a780ed7fc","tests/wasm/js_objects.rs":"86725cea9aec227e562409b9f3f96ff70cf57f21eb4ccdbe96de7ec64504244e","tests/wasm/jscast.js":"d678058645d2d370c45ec5fd5bc9b94612b1e70035a9e0f524c134369f06fe1d","tests/wasm/jscast.rs":"bd9041fd4f74cd69435f4d4be019a887d680d7fac86134e42954e94d7c1c5cab","tests/wasm/link_to.js":"b371f4c82da171ce5a3e21a6de172cd1c910a4ff26e021d1a7ede5bfd7829c40","tests/wasm/link_to.rs":"1cbc53a58cf0fb693a8e775c94e3cbebc68f2355d98f4ce972abc42ffd62d014","tests/wasm/linked_module.js":"412bcf020b68e7e5511f4def869cc3384c1e98b923a9b82e25748b40b5b6e640","tests/wasm/main.rs":"ea1e4a067a3caaea2e4d7c431faaed1771319389c0ec795b103e5a26a63dbe8a","tests/wasm/math.js":"9deb196ab7ad3d5d1f98d7d0b6ee60cb125212a4a1281ba0141cc3713fdea892","tests/wasm/math.rs":"be9000d84c6b6b091455e3b20ee7f5a88dbcfc0d38db97fad3dd167970c4b4a3","tests/wasm/no_shims.rs":"83636fee1ae0ae5b98d76b7f62f637824e77edd7a55fb27749b1a88b3910d6f6","tests/wasm/node.js":"ec3a9500773c7f07a7bcf002e23aa3848be5208147c3d750281a1e1f6d899af1","tests/wasm/node.rs":"fe140900d7048353ce0e518a1e67dedb1928f0cf34c02514498184fd8aef10cc","tests/wasm/option.js":"0d0cba722045698e9621f2565acf854bf3085c8739622798085aaa6b58e3edbe","tests/wasm/option.rs":"d82123f7349e22873e636341a52e99e256213e77d4d7ab8450ba6379be2128b7","tests/wasm/optional_primitives.js":"37484639631e1c50bdc055a08babff18d4be9f7a9291f0f3395e1a7c519e5cac","tests/wasm/optional_primitives.rs":"502803cf27b78dd8a6c1d75ae954b71cc017f803486867a87c0474e5d53a6567","tests/wasm/owned.js":"645b47e87fe52e08fbc07951736ab29f4dbab20c051913dba6228b2a08bad0bd","tests/wasm/owned.rs":"32684e31c4f1d3641ea1384d6611bc291dfd0f6d104c4bf0e57742f572649210","tests/wasm/result.js":"78212259f886d864885eca7599199434bd7abec915a2e7fa3b73dfe63284e15c","tests/wasm/result.rs":"2aab9c8a7c05b44bbd99b40800fb6fd08dd2cb498740219c9defec059cd4a637","tests/wasm/result_jserror.js":"3ea04e68937f15d869535b3bb119d8886dfcde3c16c12c4a18a995f358552154","tests/wasm/result_jserror.rs":"d168239fc71078f23a820e8959050e15965b86be047ab17c19c1befa35a82b4e","tests/wasm/rethrow.js":"0a495a8d1b735277e18cc3fc3edf8bd2a72586441d3884134182e5052786ab84","tests/wasm/rethrow.rs":"59dcf192c9e85b0d98031c135d2aa2eda4902a2bc5b740a9ddf1e75dc9cdd23e","tests/wasm/simple.js":"3890fa19585d031821e8db80de06593e8e5ce83c9ba8214fe1cef319e9c14fbb","tests/wasm/simple.rs":"e0bb901661e63750b468ba530c4d3cb3a7fb3b3f1b13adba1b88c129688867db","tests/wasm/slice.js":"2e3c42c6ebeb832f42e99e4f251817bd13083eff0b7c45c46fb4d7ab2aa740cd","tests/wasm/slice.rs":"511eb693d0ac56bde149c37039fb207ee4f0b1b92db2a809306f5ac80d578dbd","tests/wasm/structural.js":"ac504a1dbb7222c70270530a284eec56ace0bc47b95e8f9331f4b2df1d28c3f9","tests/wasm/structural.rs":"dda0e9cea09b94dd84ae39d6cf0949aa305062b7a466fdcb53370f5ee9e3dff5","tests/wasm/truthy_falsy.rs":"b54206b376f7413c9cce1792df65f57ed1e97660b4be8d9486e9c6af00f6893f","tests/wasm/usize.js":"521714b75033d9e18117de2cae2cd690c477faa88daefbbc82a09e60f4e901a8","tests/wasm/usize.rs":"b97455844d1f7acfbae7fcc69ec0bd8de871201281e802173a62574b8f3d7983","tests/wasm/validate_prt.js":"a726a85f4805648d9e69c804a266bbedaed942228a1b3a46274a91bcb83eafe9","tests/wasm/validate_prt.rs":"cea3db07f10d2bf057af99b90655179371bccf1db67e7364d476b00ecbf24a93","tests/wasm/variadic.js":"30d3bb656c0eb29b69c7e653f3201b5210b8a78e962b4678336c4d9889182adb","tests/wasm/variadic.rs":"1cabd34ad64475cc705853a2b9a8f619f6aed6ee3f3d8179793f8198df1ac178","tests/wasm/vendor_prefix.js":"1424c7fea77fea13179a50030afeffdf4b277dcb6d7b1e5ce3eea681ec2c47f4","tests/wasm/vendor_prefix.rs":"eabd627e14e09ec637d7e7a5b0bccced7e3370203351e4ce8610a5c66fac502b"},"package":"31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"} \ No newline at end of file
diff --git a/vendor/wasm-bindgen/Cargo.toml b/vendor/wasm-bindgen/Cargo.toml
index 87709d49f..dea74f066 100644
--- a/vendor/wasm-bindgen/Cargo.toml
+++ b/vendor/wasm-bindgen/Cargo.toml
@@ -12,7 +12,7 @@
[package]
edition = "2018"
name = "wasm-bindgen"
-version = "0.2.83"
+version = "0.2.84"
authors = ["The wasm-bindgen Developers"]
description = """
Easy support for interacting between JS and Rust.
@@ -42,7 +42,7 @@ version = "1.0"
optional = true
[dependencies.wasm-bindgen-macro]
-version = "=0.2.83"
+version = "=0.2.84"
[features]
default = [
@@ -61,16 +61,16 @@ strict-macro = ["wasm-bindgen-macro/strict-macro"]
xxx_debug_only_print_generated_code = ["wasm-bindgen-macro/xxx_debug_only_print_generated_code"]
[target."cfg(target_arch = \"wasm32\")".dev-dependencies.js-sys]
-version = "0.3.60"
+version = "0.3.61"
[target."cfg(target_arch = \"wasm32\")".dev-dependencies.serde_derive]
version = "1.0"
[target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-futures]
-version = "=0.4.33"
+version = "=0.4.34"
[target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-test]
-version = "=0.3.33"
+version = "=0.3.34"
[target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-test-crate-a]
version = "0.1"
diff --git a/vendor/wasm-bindgen/src/closure.rs b/vendor/wasm-bindgen/src/closure.rs
index 37cef06dc..c8d2ba225 100644
--- a/vendor/wasm-bindgen/src/closure.rs
+++ b/vendor/wasm-bindgen/src/closure.rs
@@ -571,7 +571,7 @@ macro_rules! doit {
$($var: <$var as FromWasmAbi>::Abi),*
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked after being dropped");
}
// Make sure all stack variables are converted before we
// convert `ret` as it may throw (for `Result`, for
@@ -623,7 +623,7 @@ macro_rules! doit {
$($var: <$var as FromWasmAbi>::Abi),*
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked recursively or after being dropped");
}
// Make sure all stack variables are converted before we
// convert `ret` as it may throw (for `Result`, for
@@ -759,7 +759,7 @@ where
arg: <A as RefFromWasmAbi>::Abi,
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked after being dropped");
}
// Make sure all stack variables are converted before we
// convert `ret` as it may throw (for `Result`, for
@@ -802,7 +802,7 @@ where
arg: <A as RefFromWasmAbi>::Abi,
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked recursively or after being dropped");
}
// Make sure all stack variables are converted before we
// convert `ret` as it may throw (for `Result`, for
diff --git a/vendor/wasm-bindgen/src/convert/closures.rs b/vendor/wasm-bindgen/src/convert/closures.rs
index 97755b8ee..9137065a2 100644
--- a/vendor/wasm-bindgen/src/convert/closures.rs
+++ b/vendor/wasm-bindgen/src/convert/closures.rs
@@ -29,7 +29,7 @@ macro_rules! stack_closures {
$($var: <$var as FromWasmAbi>::Abi),*
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked after being dropped");
}
// Scope all local variables before we call `return_abi` to
// ensure they're all destroyed as `return_abi` may throw
@@ -78,7 +78,7 @@ macro_rules! stack_closures {
$($var: <$var as FromWasmAbi>::Abi),*
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked recursively or after being dropped");
}
// Scope all local variables before we call `return_abi` to
// ensure they're all destroyed as `return_abi` may throw
@@ -145,7 +145,7 @@ unsafe extern "C" fn invoke1_ref<A: RefFromWasmAbi, R: ReturnWasmAbi>(
arg: <A as RefFromWasmAbi>::Abi,
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked after being dropped");
}
// Scope all local variables before we call `return_abi` to
// ensure they're all destroyed as `return_abi` may throw
@@ -197,7 +197,7 @@ unsafe extern "C" fn invoke1_mut_ref<A: RefFromWasmAbi, R: ReturnWasmAbi>(
arg: <A as RefFromWasmAbi>::Abi,
) -> <R as ReturnWasmAbi>::Abi {
if a == 0 {
- throw_str("closure invoked recursively or destroyed already");
+ throw_str("closure invoked recursively or after being dropped");
}
// Scope all local variables before we call `return_abi` to
// ensure they're all destroyed as `return_abi` may throw
diff --git a/vendor/wasm-bindgen/src/convert/impls.rs b/vendor/wasm-bindgen/src/convert/impls.rs
index 79ccd67af..e8636fe9e 100644
--- a/vendor/wasm-bindgen/src/convert/impls.rs
+++ b/vendor/wasm-bindgen/src/convert/impls.rs
@@ -2,7 +2,7 @@ use core::char;
use core::mem::{self, ManuallyDrop};
use crate::convert::traits::WasmAbi;
-use crate::convert::{FromWasmAbi, IntoWasmAbi, RefFromWasmAbi};
+use crate::convert::{FromWasmAbi, IntoWasmAbi, LongRefFromWasmAbi, RefFromWasmAbi};
use crate::convert::{OptionFromWasmAbi, OptionIntoWasmAbi, ReturnWasmAbi};
use crate::{Clamped, JsError, JsValue};
@@ -248,6 +248,16 @@ impl RefFromWasmAbi for JsValue {
}
}
+impl LongRefFromWasmAbi for JsValue {
+ type Abi = u32;
+ type Anchor = JsValue;
+
+ #[inline]
+ unsafe fn long_ref_from_abi(js: u32) -> Self::Anchor {
+ Self::from_abi(js)
+ }
+}
+
impl<T: OptionIntoWasmAbi> IntoWasmAbi for Option<T> {
type Abi = T::Abi;
diff --git a/vendor/wasm-bindgen/src/convert/slices.rs b/vendor/wasm-bindgen/src/convert/slices.rs
index 9d0970f4e..58608b8c5 100644
--- a/vendor/wasm-bindgen/src/convert/slices.rs
+++ b/vendor/wasm-bindgen/src/convert/slices.rs
@@ -1,12 +1,15 @@
#[cfg(feature = "std")]
use std::prelude::v1::*;
-use core::slice;
+use core::ops::{Deref, DerefMut};
use core::str;
+use crate::__wbindgen_copy_to_typed_array;
use crate::cast::JsObject;
use crate::convert::OptionIntoWasmAbi;
-use crate::convert::{FromWasmAbi, IntoWasmAbi, RefFromWasmAbi, RefMutFromWasmAbi, WasmAbi};
+use crate::convert::{
+ FromWasmAbi, IntoWasmAbi, LongRefFromWasmAbi, RefFromWasmAbi, RefMutFromWasmAbi, WasmAbi,
+};
use cfg_if::cfg_if;
if_std! {
@@ -27,6 +30,50 @@ fn null_slice() -> WasmSlice {
WasmSlice { ptr: 0, len: 0 }
}
+if_std! {
+ #[repr(C)]
+ pub struct WasmMutSlice {
+ pub slice: WasmSlice,
+ pub idx: u32,
+ }
+
+ unsafe impl WasmAbi for WasmMutSlice {}
+
+ /// The representation of a mutable slice passed from JS to Rust.
+ pub struct MutSlice<T> {
+ /// A copy of the data in the JS typed array.
+ contents: Box<[T]>,
+ /// A reference to the original JS typed array.
+ js: JsValue,
+ }
+
+ impl<T> Drop for MutSlice<T> {
+ fn drop(&mut self) {
+ unsafe {
+ __wbindgen_copy_to_typed_array(
+ self.contents.as_ptr() as *const u8,
+ self.contents.len() * mem::size_of::<T>(),
+ self.js.idx
+ );
+ }
+ }
+ }
+
+ impl<T> Deref for MutSlice<T> {
+ type Target = [T];
+
+ fn deref(&self) -> &[T] {
+ &self.contents
+ }
+ }
+
+ impl<T> DerefMut for MutSlice<T> {
+ fn deref_mut(&mut self) -> &mut [T] {
+ &mut self.contents
+ }
+ }
+}
+
macro_rules! vectors {
($($t:ident)*) => ($(
if_std! {
@@ -109,17 +156,24 @@ macro_rules! vectors {
}
impl RefMutFromWasmAbi for [$t] {
+ type Abi = WasmMutSlice;
+ type Anchor = MutSlice<$t>;
+
+ #[inline]
+ unsafe fn ref_mut_from_abi(js: WasmMutSlice) -> MutSlice<$t> {
+ let contents = <Box<[$t]>>::from_abi(js.slice);
+ let js = JsValue::from_abi(js.idx);
+ MutSlice { contents, js }
+ }
+ }
+
+ impl LongRefFromWasmAbi for [$t] {
type Abi = WasmSlice;
- type Anchor = &'static mut [$t];
+ type Anchor = Box<[$t]>;
#[inline]
- unsafe fn ref_mut_from_abi(js: WasmSlice)
- -> &'static mut [$t]
- {
- slice::from_raw_parts_mut(
- <*mut $t>::from_abi(js.ptr),
- js.len as usize,
- )
+ unsafe fn long_ref_from_abi(js: WasmSlice) -> Box<[$t]> {
+ Self::ref_from_abi(js)
}
}
)*)
@@ -233,6 +287,16 @@ impl RefFromWasmAbi for str {
}
}
+impl LongRefFromWasmAbi for str {
+ type Abi = <[u8] as RefFromWasmAbi>::Abi;
+ type Anchor = Box<str>;
+
+ #[inline]
+ unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor {
+ Self::ref_from_abi(js)
+ }
+}
+
if_std! {
use crate::JsValue;
diff --git a/vendor/wasm-bindgen/src/convert/traits.rs b/vendor/wasm-bindgen/src/convert/traits.rs
index b9d12b4c8..17b72a837 100644
--- a/vendor/wasm-bindgen/src/convert/traits.rs
+++ b/vendor/wasm-bindgen/src/convert/traits.rs
@@ -1,3 +1,4 @@
+use core::borrow::Borrow;
use core::ops::{Deref, DerefMut};
use crate::describe::*;
@@ -58,6 +59,32 @@ pub trait RefFromWasmAbi: WasmDescribe {
unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor;
}
+/// A version of the `RefFromWasmAbi` trait with the additional requirement
+/// that the reference must remain valid as long as the anchor isn't dropped.
+///
+/// This isn't the case for `JsValue`'s `RefFromWasmAbi` implementation. To
+/// avoid having to allocate a spot for the `JsValue` on the `JsValue` heap,
+/// the `JsValue` is instead pushed onto the `JsValue` stack, and popped off
+/// again after the function that the reference was passed to returns. So,
+/// `JsValue` has a different `LongRefFromWasmAbi` implementation that behaves
+/// the same as `FromWasmAbi`, putting the value on the heap.
+///
+/// This is needed for async functions, where the reference needs to be valid
+/// for the whole length of the `Future`, rather than the initial synchronous
+/// call.
+///
+/// 'long ref' is short for 'long-lived reference'.
+pub trait LongRefFromWasmAbi: WasmDescribe {
+ /// Same as `RefFromWasmAbi::Abi`
+ type Abi: WasmAbi;
+
+ /// Same as `RefFromWasmAbi::Anchor`
+ type Anchor: Borrow<Self>;
+
+ /// Same as `RefFromWasmAbi::ref_from_abi`
+ unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor;
+}
+
/// Dual of the `RefFromWasmAbi` trait, except for mutable references.
pub trait RefMutFromWasmAbi: WasmDescribe {
/// Same as `RefFromWasmAbi::Abi`
diff --git a/vendor/wasm-bindgen/src/describe.rs b/vendor/wasm-bindgen/src/describe.rs
index 2b7c4b628..be149d7a9 100644
--- a/vendor/wasm-bindgen/src/describe.rs
+++ b/vendor/wasm-bindgen/src/describe.rs
@@ -34,6 +34,7 @@ tys! {
STRING
REF
REFMUT
+ LONGREF
SLICE
VECTOR
EXTERNREF
diff --git a/vendor/wasm-bindgen/src/lib.rs b/vendor/wasm-bindgen/src/lib.rs
index 2ccb284b9..f8576ed4c 100644
--- a/vendor/wasm-bindgen/src/lib.rs
+++ b/vendor/wasm-bindgen/src/lib.rs
@@ -44,12 +44,13 @@ macro_rules! externs {
)
}
-/// A module which is typically glob imported from:
+/// A module which is typically glob imported.
///
/// ```
/// use wasm_bindgen::prelude::*;
/// ```
pub mod prelude {
+ pub use crate::JsCast;
pub use crate::JsValue;
pub use crate::UnwrapThrowExt;
#[doc(hidden)]
@@ -63,6 +64,8 @@ pub mod prelude {
pub use crate::JsError;
}
+pub use wasm_bindgen_macro::link_to;
+
pub mod convert;
pub mod describe;
@@ -91,7 +94,7 @@ pub struct JsValue {
_marker: marker::PhantomData<*mut u8>, // not at all threadsafe
}
-const JSIDX_OFFSET: u32 = 32; // keep in sync with js/mod.rs
+const JSIDX_OFFSET: u32 = 128; // keep in sync with js/mod.rs
const JSIDX_UNDEFINED: u32 = JSIDX_OFFSET + 0;
const JSIDX_NULL: u32 = JSIDX_OFFSET + 1;
const JSIDX_TRUE: u32 = JSIDX_OFFSET + 2;
@@ -348,6 +351,12 @@ impl JsValue {
unsafe { __wbindgen_is_object(self.idx) == 1 }
}
+ /// Tests whether this JS value is an instance of Array.
+ #[inline]
+ pub fn is_array(&self) -> bool {
+ unsafe { __wbindgen_is_array(self.idx) == 1 }
+ }
+
/// Tests whether the type of this JS value is `function`.
#[inline]
pub fn is_function(&self) -> bool {
@@ -779,6 +788,20 @@ impl<'a> From<&'a str> for JsValue {
}
}
+impl<T> From<*mut T> for JsValue {
+ #[inline]
+ fn from(s: *mut T) -> JsValue {
+ JsValue::from(s as usize)
+ }
+}
+
+impl<T> From<*const T> for JsValue {
+ #[inline]
+ fn from(s: *const T) -> JsValue {
+ JsValue::from(s as usize)
+ }
+}
+
if_std! {
impl<'a> From<&'a String> for JsValue {
#[inline]
@@ -1003,6 +1026,7 @@ externs! {
fn __wbindgen_is_undefined(idx: u32) -> u32;
fn __wbindgen_is_symbol(idx: u32) -> u32;
fn __wbindgen_is_object(idx: u32) -> u32;
+ fn __wbindgen_is_array(idx: u32) -> u32;
fn __wbindgen_is_function(idx: u32) -> u32;
fn __wbindgen_is_string(idx: u32) -> u32;
fn __wbindgen_is_bigint(idx: u32) -> u32;
@@ -1054,6 +1078,8 @@ externs! {
fn __wbindgen_jsval_eq(a: u32, b: u32) -> u32;
fn __wbindgen_jsval_loose_eq(a: u32, b: u32) -> u32;
+ fn __wbindgen_copy_to_typed_array(ptr: *const u8, len: usize, idx: u32) -> ();
+
fn __wbindgen_not(idx: u32) -> u32;
fn __wbindgen_memory() -> u32;
@@ -1346,6 +1372,7 @@ pub fn function_table() -> JsValue {
#[doc(hidden)]
pub mod __rt {
use crate::JsValue;
+ use core::borrow::{Borrow, BorrowMut};
use core::cell::{Cell, UnsafeCell};
use core::ops::{Deref, DerefMut};
@@ -1465,6 +1492,13 @@ pub mod __rt {
}
}
+ impl<'b, T: ?Sized> Borrow<T> for Ref<'b, T> {
+ #[inline]
+ fn borrow(&self) -> &T {
+ self.value
+ }
+ }
+
impl<'b, T: ?Sized> Drop for Ref<'b, T> {
fn drop(&mut self) {
self.borrow.set(self.borrow.get() - 1);
@@ -1492,6 +1526,20 @@ pub mod __rt {
}
}
+ impl<'b, T: ?Sized> Borrow<T> for RefMut<'b, T> {
+ #[inline]
+ fn borrow(&self) -> &T {
+ self.value
+ }
+ }
+
+ impl<'b, T: ?Sized> BorrowMut<T> for RefMut<'b, T> {
+ #[inline]
+ fn borrow_mut(&mut self) -> &mut T {
+ self.value
+ }
+ }
+
impl<'b, T: ?Sized> Drop for RefMut<'b, T> {
fn drop(&mut self) {
self.borrow.set(0);
diff --git a/vendor/wasm-bindgen/tests/wasm/api.rs b/vendor/wasm-bindgen/tests/wasm/api.rs
index c1c542d67..26da4fc9a 100644
--- a/vendor/wasm-bindgen/tests/wasm/api.rs
+++ b/vendor/wasm-bindgen/tests/wasm/api.rs
@@ -1,6 +1,5 @@
use js_sys::{Uint8Array, WebAssembly};
use wasm_bindgen::prelude::*;
-use wasm_bindgen::{self, JsCast};
use wasm_bindgen_test::*;
#[wasm_bindgen(module = "tests/wasm/api.js")]
diff --git a/vendor/wasm-bindgen/tests/wasm/classes.js b/vendor/wasm-bindgen/tests/wasm/classes.js
index 93a76107a..bcb61e054 100644
--- a/vendor/wasm-bindgen/tests/wasm/classes.js
+++ b/vendor/wasm-bindgen/tests/wasm/classes.js
@@ -43,6 +43,10 @@ exports.js_exceptions = () => {
let b = wasm.ClassesExceptions1.new();
b.foo(b);
assert.throws(() => b.bar(b), /recursive use of an object/);
+ // TODO: throws because it tries to borrow_mut, but the throw_str from the previous line doesn't clean up the
+ // RefMut so the object is left in a broken state.
+ // We still try to call free here so the object is removed from the FinalizationRegistry when weak refs are enabled.
+ assert.throws(() => b.free(), /recursive use of an object/);
let c = wasm.ClassesExceptions1.new();
let d = wasm.ClassesExceptions2.new();
diff --git a/vendor/wasm-bindgen/tests/wasm/closures.js b/vendor/wasm-bindgen/tests/wasm/closures.js
index dfc3d871e..9d2ca1e98 100644
--- a/vendor/wasm-bindgen/tests/wasm/closures.js
+++ b/vendor/wasm-bindgen/tests/wasm/closures.js
@@ -150,7 +150,7 @@ exports.pass_reference_first_arg_twice = (a, b, c) => {
};
exports.call_destroyed = f => {
- assert.throws(f, /invoked recursively or destroyed/);
+ assert.throws(f, /closure invoked.*after being dropped/);
};
let FORGOTTEN_CLOSURE = null;
diff --git a/vendor/wasm-bindgen/tests/wasm/closures.rs b/vendor/wasm-bindgen/tests/wasm/closures.rs
index dc88b43ad..e94ed2427 100644
--- a/vendor/wasm-bindgen/tests/wasm/closures.rs
+++ b/vendor/wasm-bindgen/tests/wasm/closures.rs
@@ -493,7 +493,6 @@ fn test_closure_returner() {
type ClosureType = dyn FnMut() -> BadStruct;
use js_sys::{Object, Reflect};
- use wasm_bindgen::JsCast;
js_test_closure_returner();
diff --git a/vendor/wasm-bindgen/tests/wasm/futures.js b/vendor/wasm-bindgen/tests/wasm/futures.js
index 5f4564bac..b95608660 100644
--- a/vendor/wasm-bindgen/tests/wasm/futures.js
+++ b/vendor/wasm-bindgen/tests/wasm/futures.js
@@ -18,6 +18,10 @@ exports.call_exports = async function() {
assert.strictEqual("Hi, Jim!", await wasm.async_take_reference("Jim"));
const foo = await new wasm.AsyncStruct();
assert.strictEqual(42, await foo.method());
+ await wasm.async_take_js_reference(42);
+ const buffer = new Int32Array([1, 2, 3, 4]);
+ await wasm.async_take_mut_slice(buffer);
+ assert.deepStrictEqual(buffer, new Int32Array([42, 42, 42, 42]));
};
exports.call_promise = async function() {
diff --git a/vendor/wasm-bindgen/tests/wasm/futures.rs b/vendor/wasm-bindgen/tests/wasm/futures.rs
index ad2be0f71..7dfddf209 100644
--- a/vendor/wasm-bindgen/tests/wasm/futures.rs
+++ b/vendor/wasm-bindgen/tests/wasm/futures.rs
@@ -126,6 +126,16 @@ impl AsyncStruct {
}
}
+#[wasm_bindgen]
+pub async fn async_take_js_reference(x: &JsValue) {
+ assert_eq!(*x, 42);
+}
+
+#[wasm_bindgen]
+pub async fn async_take_mut_slice(x: &mut [i32]) {
+ x.fill(42);
+}
+
#[wasm_bindgen_test]
async fn test_promise() {
assert_eq!(call_promise().await.as_string(), Some(String::from("ok")))
diff --git a/vendor/wasm-bindgen/tests/wasm/import_class.js b/vendor/wasm-bindgen/tests/wasm/import_class.js
index 848be7b14..778ffd15b 100644
--- a/vendor/wasm-bindgen/tests/wasm/import_class.js
+++ b/vendor/wasm-bindgen/tests/wasm/import_class.js
@@ -25,6 +25,26 @@ class Construct {
assert_internal_string(s) {
assert.strictEqual(this.internal_string, s);
}
+
+ ["kebab-case"]() {
+ return 42;
+ }
+
+ get ["kebab-case-val"]() {
+ return 42;
+ }
+
+ set ["kebab-case-val"](val) {}
+
+ static ["static-kebab-case"]() {
+ return 42;
+ }
+
+ static get ["static-kebab-case-val"]() {
+ return 42;
+ }
+
+ static set ["static-kebab-case-val"](val) {}
}
Construct.internal_string = '';
diff --git a/vendor/wasm-bindgen/tests/wasm/import_class.rs b/vendor/wasm-bindgen/tests/wasm/import_class.rs
index 7de986147..55cc1d1be 100644
--- a/vendor/wasm-bindgen/tests/wasm/import_class.rs
+++ b/vendor/wasm-bindgen/tests/wasm/import_class.rs
@@ -23,6 +23,19 @@ extern "C" {
#[wasm_bindgen(method)]
fn assert_internal_string(this: &Construct, s: &str);
+ #[wasm_bindgen(method, js_name = "kebab-case")]
+ fn kebab_case(this: &Construct) -> u32;
+ #[wasm_bindgen(method, getter, js_name = "kebab-case-val")]
+ fn kebab_case_val(this: &Construct) -> u32;
+ #[wasm_bindgen(method, setter, js_name = "kebab-case-val")]
+ fn set_kebab_case_val(this: &Construct, val: u32);
+ #[wasm_bindgen(static_method_of = Construct, js_name = "static-kebab-case")]
+ fn static_kebab_case() -> u32;
+ #[wasm_bindgen(static_method_of = Construct, getter, js_name = "static-kebab-case-val")]
+ fn static_kebab_case_val() -> u32;
+ #[wasm_bindgen(static_method_of = Construct, setter, js_name = "static-kebab-case-val")]
+ fn set_static_kebab_case_val(val: u32);
+
type NewConstructors;
#[wasm_bindgen(constructor)]
fn new(arg: i32) -> NewConstructors;
@@ -137,6 +150,14 @@ fn construct() {
assert_eq!(f.clone().get_internal_string(), "this");
f.append_to_internal_string(" foo");
f.assert_internal_string("this foo");
+
+ assert_eq!(f.kebab_case(), 42);
+ f.set_kebab_case_val(0);
+ // our setter does nothing so this is 42 anyway
+ assert_eq!(f.kebab_case_val(), 42);
+ assert_eq!(Construct::static_kebab_case(), 42);
+ Construct::set_static_kebab_case_val(0);
+ assert_eq!(Construct::static_kebab_case_val(), 42);
}
#[wasm_bindgen_test]
diff --git a/vendor/wasm-bindgen/tests/wasm/imports.js b/vendor/wasm-bindgen/tests/wasm/imports.js
index 70d8a3b08..a47968d35 100644
--- a/vendor/wasm-bindgen/tests/wasm/imports.js
+++ b/vendor/wasm-bindgen/tests/wasm/imports.js
@@ -140,4 +140,7 @@ exports.same_name_from_import = (a) => a * 3;
exports.same_js_namespace_from_module = {
func_from_module_1_same_js_namespace: (a) => a * 5
-} \ No newline at end of file
+}
+
+exports["kebab-case"] = () => 42;
+exports["\"string'literal\nbreakers\r"] = () => 42;
diff --git a/vendor/wasm-bindgen/tests/wasm/imports.rs b/vendor/wasm-bindgen/tests/wasm/imports.rs
index 88dbf5ed6..27e4a67dc 100644
--- a/vendor/wasm-bindgen/tests/wasm/imports.rs
+++ b/vendor/wasm-bindgen/tests/wasm/imports.rs
@@ -81,6 +81,12 @@ extern "C" {
#[wasm_bindgen(js_namespace = same_js_namespace_from_module)]
fn func_from_module_1_same_js_namespace(s: i32) -> i32;
+
+ #[wasm_bindgen(js_name = "kebab-case")]
+ fn kebab_case() -> u32;
+
+ #[wasm_bindgen(js_name = "\"string'literal\nbreakers\r")]
+ fn string_literal_breakers() -> u32;
}
#[wasm_bindgen(module = "tests/wasm/imports_2.js")]
@@ -321,3 +327,9 @@ fn func_from_two_modules_same_js_namespace() {
assert_eq!(func_from_module_1_same_js_namespace(2), 10);
assert_eq!(func_from_module_2_same_js_namespace(2), 12);
}
+
+#[wasm_bindgen_test]
+fn invalid_idents() {
+ assert_eq!(kebab_case(), 42);
+ assert_eq!(string_literal_breakers(), 42);
+}
diff --git a/vendor/wasm-bindgen/tests/wasm/intrinsics.rs b/vendor/wasm-bindgen/tests/wasm/intrinsics.rs
index 15985e812..843d2d289 100644
--- a/vendor/wasm-bindgen/tests/wasm/intrinsics.rs
+++ b/vendor/wasm-bindgen/tests/wasm/intrinsics.rs
@@ -3,7 +3,7 @@
use std::convert::TryFrom;
use std::fmt::Debug;
-use js_sys::{Object, RangeError, Reflect};
+use js_sys::{Array, Object, RangeError, Reflect};
use wasm_bindgen::{JsCast, JsValue};
use wasm_bindgen_test::wasm_bindgen_test;
@@ -78,6 +78,7 @@ fn types() {
assert!(JsValue::UNDEFINED.is_undefined());
assert!(JsValue::NULL.is_null());
assert!(Object::new().is_object());
+ assert!(Array::new().is_array());
assert!(JsValue::symbol(None).is_symbol());
assert!(JsValue::from_str("hi").is_string());
assert!(JsValue::bigint_from_str("5").is_bigint());
diff --git a/vendor/wasm-bindgen/tests/wasm/jscast.rs b/vendor/wasm-bindgen/tests/wasm/jscast.rs
index 1279634d2..45d0b862b 100644
--- a/vendor/wasm-bindgen/tests/wasm/jscast.rs
+++ b/vendor/wasm-bindgen/tests/wasm/jscast.rs
@@ -1,5 +1,4 @@
use wasm_bindgen::prelude::*;
-use wasm_bindgen::JsCast;
use wasm_bindgen_test::*;
#[wasm_bindgen(module = "tests/wasm/jscast.js")]
diff --git a/vendor/wasm-bindgen/tests/wasm/link_to.js b/vendor/wasm-bindgen/tests/wasm/link_to.js
new file mode 100644
index 000000000..3028a6ae8
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/link_to.js
@@ -0,0 +1,4 @@
+const fs = require('fs');
+const url = require('url');
+
+exports.read_file = (str) => fs.readFileSync(url.fileURLToPath(str), "utf8");
diff --git a/vendor/wasm-bindgen/tests/wasm/link_to.rs b/vendor/wasm-bindgen/tests/wasm/link_to.rs
new file mode 100644
index 000000000..e631bdb03
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/link_to.rs
@@ -0,0 +1,30 @@
+use wasm_bindgen::prelude::*;
+use wasm_bindgen_test::*;
+
+#[wasm_bindgen(module = "/tests/wasm/link_to.js")]
+extern "C" {
+ #[wasm_bindgen(catch)]
+ fn read_file(url: &str) -> Result<String, JsValue>;
+}
+
+#[wasm_bindgen_test]
+fn test_module() {
+ let link = wasm_bindgen::link_to!(module = "/tests/wasm/linked_module.js");
+ assert_eq!(read_file(&link).unwrap(), "// linked module\n");
+}
+
+#[wasm_bindgen_test]
+fn test_raw_module() {
+ let link = wasm_bindgen::link_to!(raw_module = "./not-found.js");
+ assert!(read_file(&link).is_err());
+}
+
+#[wasm_bindgen_test]
+fn test_inline_js() {
+ // Test two invocations to ensure that snippet indices from different
+ // Program structs are offset correctly.
+ let link1 = wasm_bindgen::link_to!(inline_js = "// inline js 1\n");
+ let link2 = wasm_bindgen::link_to!(inline_js = "// inline js 2\n");
+ assert_eq!(read_file(&link1).unwrap(), "// inline js 1\n");
+ assert_eq!(read_file(&link2).unwrap(), "// inline js 2\n");
+}
diff --git a/vendor/wasm-bindgen/tests/wasm/linked_module.js b/vendor/wasm-bindgen/tests/wasm/linked_module.js
new file mode 100644
index 000000000..b979535b2
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/linked_module.js
@@ -0,0 +1 @@
+// linked module
diff --git a/vendor/wasm-bindgen/tests/wasm/main.rs b/vendor/wasm-bindgen/tests/wasm/main.rs
index 51e6dcafe..987962c88 100644
--- a/vendor/wasm-bindgen/tests/wasm/main.rs
+++ b/vendor/wasm-bindgen/tests/wasm/main.rs
@@ -32,11 +32,13 @@ pub mod intrinsics;
pub mod js_keywords;
pub mod js_objects;
pub mod jscast;
+pub mod link_to;
pub mod math;
pub mod no_shims;
pub mod node;
pub mod option;
pub mod optional_primitives;
+pub mod owned;
pub mod result;
pub mod result_jserror;
pub mod rethrow;
@@ -51,6 +53,6 @@ pub mod vendor_prefix;
// should not be executed
#[wasm_bindgen(start)]
-pub fn start() {
+fn start() {
panic!();
}
diff --git a/vendor/wasm-bindgen/tests/wasm/owned.js b/vendor/wasm-bindgen/tests/wasm/owned.js
new file mode 100644
index 000000000..e1d5dfbe1
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/owned.js
@@ -0,0 +1,13 @@
+const wasm = require("wasm-bindgen-test.js");
+
+exports.create_garbage = async function () {
+ for (let i = 0; i < 100; i++) {
+ new wasm.OwnedValue(1).add(new wasm.OwnedValue(2)).n();
+ }
+
+ if ("gc" in global) {
+ global.gc();
+ } else {
+ console.warn("test runner doesn't expose GC function");
+ }
+};
diff --git a/vendor/wasm-bindgen/tests/wasm/owned.rs b/vendor/wasm-bindgen/tests/wasm/owned.rs
new file mode 100644
index 000000000..7d51673a5
--- /dev/null
+++ b/vendor/wasm-bindgen/tests/wasm/owned.rs
@@ -0,0 +1,35 @@
+use wasm_bindgen::prelude::*;
+use wasm_bindgen_test::*;
+
+#[wasm_bindgen]
+pub struct OwnedValue {
+ pub n: f64,
+}
+
+#[wasm_bindgen]
+impl OwnedValue {
+ #[wasm_bindgen(constructor)]
+ pub fn new(n: f64) -> Self {
+ Self { n }
+ }
+
+ pub fn add(self, other: OwnedValue) -> Self {
+ Self {
+ n: self.n + other.n,
+ }
+ }
+
+ pub fn n(self) -> f64 {
+ self.n
+ }
+}
+
+#[wasm_bindgen(module = "tests/wasm/owned.js")]
+extern "C" {
+ fn create_garbage();
+}
+
+#[wasm_bindgen_test]
+fn test_create_garbage() {
+ create_garbage()
+}
diff --git a/vendor/wasm-bindgen/tests/wasm/simple.rs b/vendor/wasm-bindgen/tests/wasm/simple.rs
index 611b5320a..5f22b6ea9 100644
--- a/vendor/wasm-bindgen/tests/wasm/simple.rs
+++ b/vendor/wasm-bindgen/tests/wasm/simple.rs
@@ -1,5 +1,5 @@
use wasm_bindgen::prelude::*;
-use wasm_bindgen::{intern, unintern, JsCast};
+use wasm_bindgen::{intern, unintern};
use wasm_bindgen_test::*;
#[wasm_bindgen(module = "tests/wasm/simple.js")]