{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/49629","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/49629/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/49629/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/49629/events","html_url":"https://github.com/rust-lang/rust/issues/49629","id":310918913,"node_id":"MDU6SXNzdWUzMTA5MTg5MTM=","number":49629,"title":"Remove $:meta matcher in decl macros","user":{"login":"dtolnay","id":1940490,"node_id":"MDQ6VXNlcjE5NDA0OTA=","avatar_url":"https://avatars2.githubusercontent.com/u/1940490?v=4","gravatar_id":"","url":"https://api.github.com/users/dtolnay","html_url":"https://github.com/dtolnay","followers_url":"https://api.github.com/users/dtolnay/followers","following_url":"https://api.github.com/users/dtolnay/following{/other_user}","gists_url":"https://api.github.com/users/dtolnay/gists{/gist_id}","starred_url":"https://api.github.com/users/dtolnay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dtolnay/subscriptions","organizations_url":"https://api.github.com/users/dtolnay/orgs","repos_url":"https://api.github.com/users/dtolnay/repos","events_url":"https://api.github.com/users/dtolnay/events{/privacy}","received_events_url":"https://api.github.com/users/dtolnay/received_events","type":"User","site_admin":false},"labels":[{"id":632573348,"node_id":"MDU6TGFiZWw2MzI1NzMzNDg=","url":"https://api.github.com/repos/rust-lang/rust/labels/A-macros-2.0","name":"A-macros-2.0","color":"d7e102","default":false},{"id":234902,"node_id":"MDU6TGFiZWwyMzQ5MDI=","url":"https://api.github.com/repos/rust-lang/rust/labels/C-enhancement","name":"C-enhancement","color":"f5f1fd","default":false},{"id":211668100,"node_id":"MDU6TGFiZWwyMTE2NjgxMDA=","url":"https://api.github.com/repos/rust-lang/rust/labels/T-compiler","name":"T-compiler","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-04-03T17:01:07Z","updated_at":"2018-08-02T21:25:28Z","closed_at":null,"author_association":"MEMBER","body":"`$:meta` is intended for matching the content of attributes, as in the following:\r\n\r\n```rust\r\n#![feature(decl_macro)]\r\n\r\nmacro m(\r\n    $(#[$m:meta])*\r\n    struct $n:ident;\r\n) {\r\n    $(#[$m])*\r\n    struct $n(usize);\r\n}\r\n\r\nm! {\r\n    #[derive(Debug)]\r\n    struct S;\r\n}\r\n\r\nfn main() {\r\n    println!(\"{:?}\", S(1));\r\n}\r\n```\r\n\r\nAccording to https://github.com/rust-lang/rust/issues/34981#issuecomment-335973331 we intend to support arbitrary token streams inside of attributes rather than the limited grammar of `$:meta`. Let's have decl macros drop support for `$:meta` and encourage `#[$($meta:tt)*]` instead."},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/410072786","html_url":"https://github.com/rust-lang/rust/issues/49629#issuecomment-410072786","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/49629","id":410072786,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDA3Mjc4Ng==","user":{"login":"petrochenkov","id":5751617,"node_id":"MDQ6VXNlcjU3NTE2MTc=","avatar_url":"https://avatars2.githubusercontent.com/u/5751617?v=4","gravatar_id":"","url":"https://api.github.com/users/petrochenkov","html_url":"https://github.com/petrochenkov","followers_url":"https://api.github.com/users/petrochenkov/followers","following_url":"https://api.github.com/users/petrochenkov/following{/other_user}","gists_url":"https://api.github.com/users/petrochenkov/gists{/gist_id}","starred_url":"https://api.github.com/users/petrochenkov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/petrochenkov/subscriptions","organizations_url":"https://api.github.com/users/petrochenkov/orgs","repos_url":"https://api.github.com/users/petrochenkov/repos","events_url":"https://api.github.com/users/petrochenkov/events{/privacy}","received_events_url":"https://api.github.com/users/petrochenkov/received_events","type":"User","site_admin":false},"created_at":"2018-08-02T21:25:28Z","updated_at":"2018-08-02T21:25:28Z","author_association":"CONTRIBUTOR","body":"https://github.com/rust-lang/rust/pull/50120 restricted the attribute grammar to delimited token trees, so it's at least technically possible to keep `meta` as a matcher now."}}
{"actor":{"display_login":"petrochenkov"}}