diff options
Diffstat (limited to 'vendor/wasm-bindgen')
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")] |