{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/811","repository_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs","labels_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/811/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/811/comments","events_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/811/events","html_url":"https://github.com/rust-lang-nursery/futures-rs/pull/811","id":300475109,"number":811,"title":"Add WakeArc trait","user":{"login":"cramertj","id":5963049,"avatar_url":"https://avatars1.githubusercontent.com/u/5963049?v=4","gravatar_id":"","url":"https://api.github.com/users/cramertj","html_url":"https://github.com/cramertj","followers_url":"https://api.github.com/users/cramertj/followers","following_url":"https://api.github.com/users/cramertj/following{/other_user}","gists_url":"https://api.github.com/users/cramertj/gists{/gist_id}","starred_url":"https://api.github.com/users/cramertj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cramertj/subscriptions","organizations_url":"https://api.github.com/users/cramertj/orgs","repos_url":"https://api.github.com/users/cramertj/repos","events_url":"https://api.github.com/users/cramertj/events{/privacy}","received_events_url":"https://api.github.com/users/cramertj/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-02-27T02:51:38Z","updated_at":"2018-02-27T17:11:17Z","closed_at":"2018-02-27T17:11:17Z","author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/811","html_url":"https://github.com/rust-lang-nursery/futures-rs/pull/811","diff_url":"https://github.com/rust-lang-nursery/futures-rs/pull/811.diff","patch_url":"https://github.com/rust-lang-nursery/futures-rs/pull/811.patch"},"body":"I encountered the need for this when attempting to transition the Fuchsia executor over to the new `Wake` trait. In order to place an `Arc<Task>` onto a queue in the impl of `wake` for `Task`, I needed access to the `Arc`, not just the `Task` inside. I could implement `Wake` for `MyWrapper(Arc<Task>)`, but then I have to use `Arc<MyWrapper>`, which requires double boxing. After popping the `Arc<Task>` off of the task queue, I need to create an `Arc<MyWrapper>` again in order to poll the underlying future, which means I have to re-`Arc` it (causing an allocation every time). If this sounds like a mess, that's because it is. This trait would make it much easier :)"},"comment":{"url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/comments/368953099","html_url":"https://github.com/rust-lang-nursery/futures-rs/pull/811#issuecomment-368953099","issue_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/811","id":368953099,"user":{"login":"cramertj","id":5963049,"avatar_url":"https://avatars1.githubusercontent.com/u/5963049?v=4","gravatar_id":"","url":"https://api.github.com/users/cramertj","html_url":"https://github.com/cramertj","followers_url":"https://api.github.com/users/cramertj/followers","following_url":"https://api.github.com/users/cramertj/following{/other_user}","gists_url":"https://api.github.com/users/cramertj/gists{/gist_id}","starred_url":"https://api.github.com/users/cramertj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cramertj/subscriptions","organizations_url":"https://api.github.com/users/cramertj/orgs","repos_url":"https://api.github.com/users/cramertj/repos","events_url":"https://api.github.com/users/cramertj/events{/privacy}","received_events_url":"https://api.github.com/users/cramertj/received_events","type":"User","site_admin":false},"created_at":"2018-02-27T17:11:17Z","updated_at":"2018-02-27T17:11:17Z","author_association":"COLLABORATOR","body":"@aturon That sounds good to me! i'll close this and open another PR."}}
{"actor":{"display_login":"cramertj"}}