{"action":"opened","issue":{"url":"https://api.github.com/repos/fabianschuiki/moore/issues/11","repository_url":"https://api.github.com/repos/fabianschuiki/moore","labels_url":"https://api.github.com/repos/fabianschuiki/moore/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/fabianschuiki/moore/issues/11/comments","events_url":"https://api.github.com/repos/fabianschuiki/moore/issues/11/events","html_url":"https://github.com/fabianschuiki/moore/issues/11","id":271178198,"number":11,"title":"Add macro to declare arenas","user":{"login":"fabianschuiki","id":342324,"avatar_url":"https://avatars3.githubusercontent.com/u/342324?v=4","gravatar_id":"","url":"https://api.github.com/users/fabianschuiki","html_url":"https://github.com/fabianschuiki","followers_url":"https://api.github.com/users/fabianschuiki/followers","following_url":"https://api.github.com/users/fabianschuiki/following{/other_user}","gists_url":"https://api.github.com/users/fabianschuiki/gists{/gist_id}","starred_url":"https://api.github.com/users/fabianschuiki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabianschuiki/subscriptions","organizations_url":"https://api.github.com/users/fabianschuiki/orgs","repos_url":"https://api.github.com/users/fabianschuiki/repos","events_url":"https://api.github.com/users/fabianschuiki/events{/privacy}","received_events_url":"https://api.github.com/users/fabianschuiki/received_events","type":"User","site_admin":false},"labels":[{"id":736122144,"url":"https://api.github.com/repos/fabianschuiki/moore/labels/refactor","name":"refactor","color":"cccccc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-11-04T09:10:42Z","updated_at":"2017-11-04T09:10:42Z","closed_at":null,"author_association":"OWNER","body":"Add a trait `ArenaAllocator<T>` that provides an `alloc` function for a specific type. Add a macro `make_arenas!` that creates a struct containing a typed arena for each of the provided types, plus an additional list of sub-arenas / public members. The macro shall implement the `ArenaAllocator` trait for each of the types. This simplifies code from\r\n```rust\r\nself.sb.arenas.ty.alloc(...);\r\n```\r\nto\r\n```rust\r\nself.sb.arenas.alloc(...);\r\n```\r\nand makes it easier to add new types to the arena."}}
{"actor":{"display_login":"fabianschuiki"}}