{"action":"created","issue":{"url":"https://api.github.com/repos/rustwasm/wasm-bindgen/issues/639","repository_url":"https://api.github.com/repos/rustwasm/wasm-bindgen","labels_url":"https://api.github.com/repos/rustwasm/wasm-bindgen/issues/639/labels{/name}","comments_url":"https://api.github.com/repos/rustwasm/wasm-bindgen/issues/639/comments","events_url":"https://api.github.com/repos/rustwasm/wasm-bindgen/issues/639/events","html_url":"https://github.com/rustwasm/wasm-bindgen/pull/639","id":347625175,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2MTk2MTE0","number":639,"title":"Migrate from the `webidl` crate to `weedle`","user":{"login":"alexcrichton","id":64996,"node_id":"MDQ6VXNlcjY0OTk2","avatar_url":"https://avatars1.githubusercontent.com/u/64996?v=4","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-04T15:01:25Z","updated_at":"2018-08-04T15:01:59Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/rustwasm/wasm-bindgen/pulls/639","html_url":"https://github.com/rustwasm/wasm-bindgen/pull/639","diff_url":"https://github.com/rustwasm/wasm-bindgen/pull/639.diff","patch_url":"https://github.com/rustwasm/wasm-bindgen/pull/639.patch"},"body":"This commit migrates the `wasm-bindgen-webidl` crate from the `webidl` parser to\r\n`weedle`. The main rationale for doing this is that `webidl` depends on\r\n`lalrpop`, which is quite a large dependency and takes a good deal of time to\r\ncompile. The `weedle` crate, however, depends on `nom` and is much faster to\r\ncompile.\r\n\r\nAlmost all translations were pretty straightforward. Some abstractions changed\r\nand/or were introduced in this commit when moving to `weedle` like the\r\n`ToSynType` trait, but otherwise the generated bindings should be the same. It's\r\nbeen verified that the `weedle`-generated bindings are exactly the same as the\r\n`webidl`-generated bindings, with the one exception of `weedle` generates one\r\nmore method, `WebGpuCommandEncoder::transition_buffer`. It's not clear currently\r\nwhy `webidl` didn't generate this method, as its [idl] is pretty straightforward!\r\n\r\nThis commit is using a [fork] of `weedle` currently which has a number of fixes\r\nfor parsing our WebIDL, although all the fixes are quite minor!\r\n\r\nCloses #620\r\n\r\n[idl]: https://github.com/rustwasm/wasm-bindgen/blob/d66b834afd9b45daefc4dcd35a74f3274fc0ab12/crates/web-sys/webidls/enabled/WebGPU.webidl#L499\r\n[fork]: https://github.com/alexcrichton/weedle/tree/fix-for-web-sys"},"comment":{"url":"https://api.github.com/repos/rustwasm/wasm-bindgen/issues/comments/410455551","html_url":"https://github.com/rustwasm/wasm-bindgen/pull/639#issuecomment-410455551","issue_url":"https://api.github.com/repos/rustwasm/wasm-bindgen/issues/639","id":410455551,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDQ1NTU1MQ==","user":{"login":"alexcrichton","id":64996,"node_id":"MDQ6VXNlcjY0OTk2","avatar_url":"https://avatars1.githubusercontent.com/u/64996?v=4","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"created_at":"2018-08-04T15:01:59Z","updated_at":"2018-08-04T15:01:59Z","author_association":"COLLABORATOR","body":"cc @ohanar, curious to get your take on this!"}}
{"actor":{"display_login":"alexcrichton"}}