{"action":"created","comment":{"url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/comments/197287292","pull_request_review_id":131005129,"id":197287292,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NzI4NzI5Mg==","diff_hunk":"@@ -0,0 +1,145 @@\n+use std::cell::UnsafeCell;\n+use std::mem;\n+use std::marker::PhantomData;\n+use std::ptr::{self, NonNull};\n+use std::sync::{Arc, Weak};\n+use std::sync::atomic::{AtomicPtr, AtomicBool};\n+use std::sync::atomic::Ordering::SeqCst;\n+\n+use futures_core::task::{UnsafeWake, Waker, LocalWaker};\n+\n+use super::Inner;\n+use super::abort::abort;\n+\n+pub(super) struct Node<T> {\n+    // The future\n+    pub(super) future: UnsafeCell<Option<T>>,\n+\n+    // Next pointer for linked list tracking all active nodes\n+    pub(super) next_all: UnsafeCell<*const Node<T>>,\n+\n+    // Previous node in linked list tracking all active nodes\n+    pub(super) prev_all: UnsafeCell<*const Node<T>>,\n+\n+    // Next pointer in readiness queue\n+    pub(super) next_readiness: AtomicPtr<Node<T>>,\n+\n+    // Queue that we'll be enqueued to when notified\n+    pub(super) queue: Weak<Inner<T>>,\n+\n+    // Whether or not this node is currently in the mpsc queue.\n+    pub(super) queued: AtomicBool,\n+}\n+\n+impl<T> Node<T> {\n+    pub(super) fn notify(me: &Arc<Node<T>>) {\n+        let inner = match me.queue.upgrade() {\n+            Some(inner) => inner,\n+            None => return,\n+        };\n+\n+        // It's our job to notify the node that it's ready to get polled,\n+        // meaning that we need to enqueue it into the readiness queue. To\n+        // do this we flag that we're ready to be queued, and if successful\n+        // we then do the literal queueing operation, ensuring that we're\n+        // only queued once.\n+        //\n+        // Once the node is inserted we be sure to notify the parent task,\n+        // as it'll want to come along and pick up our node now.\n+        //\n+        // Note that we don't change the reference count of the node here,\n+        // we're just enqueueing the raw pointer. The `FuturesUnordered`\n+        // implementation guarantees that if we set the `queued` flag true that\n+        // there's a reference count held by the main `FuturesUnordered` queue\n+        // still.\n+        let prev = me.queued.swap(true, SeqCst);\n+        if !prev {\n+            inner.enqueue(&**me);\n+            inner.parent.wake();\n+        }\n+    }\n+}\n+\n+impl<T> Drop for Node<T> {\n+    fn drop(&mut self) {\n+        // Currently a `Node<T>` is sent across all threads for any lifetime,\n+        // regardless of `T`. This means that for memory safety we can't\n+        // actually touch `T` at any time except when we have a reference to the\n+        // `FuturesUnordered` itself.\n+        //\n+        // Consequently it *should* be the case that we always drop futures from\n+        // the `FuturesUnordered` instance, but this is a bomb in place to catch\n+        // any bugs in that logic.\n+        unsafe {\n+            if (*self.future.get()).is_some() {\n+                abort(\"future still here when dropping\");\n+            }\n+        }\n+    }\n+}\n+\n+#[allow(missing_debug_implementations)]\n+pub(super) struct NodeToHandle<'a, T: 'a>(pub(super) &'a Arc<Node<T>>);\n+\n+impl<'a, T> Clone for NodeToHandle<'a, T> {\n+    fn clone(&self) -> Self {\n+        NodeToHandle(self.0)\n+    }\n+}\n+\n+#[doc(hidden)]\n+impl<'a, T> From<NodeToHandle<'a, T>> for LocalWaker {\n+    fn from(handle: NodeToHandle<'a, T>) -> LocalWaker {\n+        unsafe {\n+            let ptr: Arc<Node<T>> = handle.0.clone();\n+            let ptr = mem::transmute::<Arc<Node<T>>, *mut ArcNode<T>>(ptr);\n+            let ptr = ptr as *mut UnsafeWake;\n+            // Hide lifetime\n+            let ptr = mem::transmute::<*mut UnsafeWake, *mut UnsafeWake>(ptr);","path":"futures-util/src/stream/futures_unordered/node.rs","position":98,"original_position":98,"commit_id":"41853e7f4958a3e4eb029ac00aade23a4cd02f2b","original_commit_id":"41853e7f4958a3e4eb029ac00aade23a4cd02f2b","user":{"login":"cramertj","id":5963049,"node_id":"MDQ6VXNlcjU5NjMwNDk=","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},"body":"Something else is going on here-- the error you're getting is on line 96, not the usage of the ptr. `*mut UnsafeWake` is one type, and it doesn't contain any lifetimes.","created_at":"2018-06-21T21:45:48Z","updated_at":"2018-06-21T21:45:48Z","html_url":"https://github.com/rust-lang-nursery/futures-rs/pull/1037#discussion_r197287292","pull_request_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/comments/197287292"},"html":{"href":"https://github.com/rust-lang-nursery/futures-rs/pull/1037#discussion_r197287292"},"pull_request":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037"}},"in_reply_to_id":197278215},"pull_request":{"url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037","id":194140578,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk0MTQwNTc4","html_url":"https://github.com/rust-lang-nursery/futures-rs/pull/1037","diff_url":"https://github.com/rust-lang-nursery/futures-rs/pull/1037.diff","patch_url":"https://github.com/rust-lang-nursery/futures-rs/pull/1037.patch","issue_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/1037","number":1037,"state":"open","locked":false,"title":"Executors and partly reenable futures crate","user":{"login":"MajorBreakfast","id":340142,"node_id":"MDQ6VXNlcjM0MDE0Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/340142?v=4","gravatar_id":"","url":"https://api.github.com/users/MajorBreakfast","html_url":"https://github.com/MajorBreakfast","followers_url":"https://api.github.com/users/MajorBreakfast/followers","following_url":"https://api.github.com/users/MajorBreakfast/following{/other_user}","gists_url":"https://api.github.com/users/MajorBreakfast/gists{/gist_id}","starred_url":"https://api.github.com/users/MajorBreakfast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MajorBreakfast/subscriptions","organizations_url":"https://api.github.com/users/MajorBreakfast/orgs","repos_url":"https://api.github.com/users/MajorBreakfast/repos","events_url":"https://api.github.com/users/MajorBreakfast/events{/privacy}","received_events_url":"https://api.github.com/users/MajorBreakfast/received_events","type":"User","site_admin":false},"body":"This needs careful review. I'm not entirely sure what I did ^^' All I can say is that it builds now and some of the tests run.\r\n\r\nNotes:\r\n- ~~`futures-core` subcrate does **not** yet reexport from `core`~~\r\n- `executor.spawn_obj(Box::new(future).into())` looks ugly ^^' I think we should introduce an `IntoTaskObj` trait. Unless there's going to be a simpler API layered on top of course.\r\n- The doc tests seem to require `#![feature(arbitrary_self_types)]`. Can this be done? Didn't seem to work for me. Maybe I just did it the wrong way.\r\n- Various places require `Executor` to be `Sized`. Should it become the default, so that we don't need to type it everywhere?\r\n- The Rust compiler is genius. It reports new errors blazing fast and the error messages are extremely helpful\r\n- [x] The `Task` structs should probably be renamed to something like `TaskContainer { task_obj, ... }`. ","created_at":"2018-06-12T00:57:00Z","updated_at":"2018-06-21T21:45:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6b64c6bd4c7464693e9ffe2d981c26489ee8bc21","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037/commits","review_comments_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037/comments","review_comment_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/1037/comments","statuses_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/statuses/41853e7f4958a3e4eb029ac00aade23a4cd02f2b","head":{"label":"MajorBreakfast:0.3","ref":"0.3","sha":"41853e7f4958a3e4eb029ac00aade23a4cd02f2b","user":{"login":"MajorBreakfast","id":340142,"node_id":"MDQ6VXNlcjM0MDE0Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/340142?v=4","gravatar_id":"","url":"https://api.github.com/users/MajorBreakfast","html_url":"https://github.com/MajorBreakfast","followers_url":"https://api.github.com/users/MajorBreakfast/followers","following_url":"https://api.github.com/users/MajorBreakfast/following{/other_user}","gists_url":"https://api.github.com/users/MajorBreakfast/gists{/gist_id}","starred_url":"https://api.github.com/users/MajorBreakfast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MajorBreakfast/subscriptions","organizations_url":"https://api.github.com/users/MajorBreakfast/orgs","repos_url":"https://api.github.com/users/MajorBreakfast/repos","events_url":"https://api.github.com/users/MajorBreakfast/events{/privacy}","received_events_url":"https://api.github.com/users/MajorBreakfast/received_events","type":"User","site_admin":false},"repo":{"id":136815360,"node_id":"MDEwOlJlcG9zaXRvcnkxMzY4MTUzNjA=","name":"futures-rs","full_name":"MajorBreakfast/futures-rs","owner":{"login":"MajorBreakfast","id":340142,"node_id":"MDQ6VXNlcjM0MDE0Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/340142?v=4","gravatar_id":"","url":"https://api.github.com/users/MajorBreakfast","html_url":"https://github.com/MajorBreakfast","followers_url":"https://api.github.com/users/MajorBreakfast/followers","following_url":"https://api.github.com/users/MajorBreakfast/following{/other_user}","gists_url":"https://api.github.com/users/MajorBreakfast/gists{/gist_id}","starred_url":"https://api.github.com/users/MajorBreakfast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MajorBreakfast/subscriptions","organizations_url":"https://api.github.com/users/MajorBreakfast/orgs","repos_url":"https://api.github.com/users/MajorBreakfast/repos","events_url":"https://api.github.com/users/MajorBreakfast/events{/privacy}","received_events_url":"https://api.github.com/users/MajorBreakfast/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MajorBreakfast/futures-rs","description":"Zero-cost futures and streams in Rust","fork":true,"url":"https://api.github.com/repos/MajorBreakfast/futures-rs","forks_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/forks","keys_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/teams","hooks_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/hooks","issue_events_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/issues/events{/number}","events_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/events","assignees_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/assignees{/user}","branches_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/branches{/branch}","tags_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/tags","blobs_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/git/refs{/sha}","trees_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/statuses/{sha}","languages_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/languages","stargazers_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/stargazers","contributors_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/contributors","subscribers_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/subscribers","subscription_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/subscription","commits_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/commits{/sha}","git_commits_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/git/commits{/sha}","comments_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/comments{/number}","issue_comment_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/issues/comments{/number}","contents_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/contents/{+path}","compare_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/merges","archive_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/downloads","issues_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/issues{/number}","pulls_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/pulls{/number}","milestones_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/milestones{/number}","notifications_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/labels{/name}","releases_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/releases{/id}","deployments_url":"https://api.github.com/repos/MajorBreakfast/futures-rs/deployments","created_at":"2018-06-10T14:22:18Z","updated_at":"2018-06-10T14:22:21Z","pushed_at":"2018-06-21T20:39:54Z","git_url":"git://github.com/MajorBreakfast/futures-rs.git","ssh_url":"git@github.com:MajorBreakfast/futures-rs.git","clone_url":"https://github.com/MajorBreakfast/futures-rs.git","svn_url":"https://github.com/MajorBreakfast/futures-rs","homepage":"https://docs.rs/futures","size":15403,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rust-lang-nursery:0.3","ref":"0.3","sha":"6676c2db3f9572363c4fed39cd1d108556299c0e","user":{"login":"rust-lang-nursery","id":14631425,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NjMxNDI1","avatar_url":"https://avatars1.githubusercontent.com/u/14631425?v=4","gravatar_id":"","url":"https://api.github.com/users/rust-lang-nursery","html_url":"https://github.com/rust-lang-nursery","followers_url":"https://api.github.com/users/rust-lang-nursery/followers","following_url":"https://api.github.com/users/rust-lang-nursery/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang-nursery/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang-nursery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang-nursery/subscriptions","organizations_url":"https://api.github.com/users/rust-lang-nursery/orgs","repos_url":"https://api.github.com/users/rust-lang-nursery/repos","events_url":"https://api.github.com/users/rust-lang-nursery/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang-nursery/received_events","type":"Organization","site_admin":false},"repo":{"id":55077261,"node_id":"MDEwOlJlcG9zaXRvcnk1NTA3NzI2MQ==","name":"futures-rs","full_name":"rust-lang-nursery/futures-rs","owner":{"login":"rust-lang-nursery","id":14631425,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0NjMxNDI1","avatar_url":"https://avatars1.githubusercontent.com/u/14631425?v=4","gravatar_id":"","url":"https://api.github.com/users/rust-lang-nursery","html_url":"https://github.com/rust-lang-nursery","followers_url":"https://api.github.com/users/rust-lang-nursery/followers","following_url":"https://api.github.com/users/rust-lang-nursery/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang-nursery/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang-nursery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang-nursery/subscriptions","organizations_url":"https://api.github.com/users/rust-lang-nursery/orgs","repos_url":"https://api.github.com/users/rust-lang-nursery/repos","events_url":"https://api.github.com/users/rust-lang-nursery/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang-nursery/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rust-lang-nursery/futures-rs","description":"Zero-cost futures and streams in Rust","fork":false,"url":"https://api.github.com/repos/rust-lang-nursery/futures-rs","forks_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/forks","keys_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/teams","hooks_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/hooks","issue_events_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/events{/number}","events_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/events","assignees_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/assignees{/user}","branches_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/branches{/branch}","tags_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/tags","blobs_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/git/refs{/sha}","trees_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/statuses/{sha}","languages_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/languages","stargazers_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/stargazers","contributors_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/contributors","subscribers_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/subscribers","subscription_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/subscription","commits_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/commits{/sha}","git_commits_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/git/commits{/sha}","comments_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/comments{/number}","issue_comment_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/comments{/number}","contents_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/contents/{+path}","compare_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/merges","archive_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/downloads","issues_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues{/number}","pulls_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls{/number}","milestones_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/milestones{/number}","notifications_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/labels{/name}","releases_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/releases{/id}","deployments_url":"https://api.github.com/repos/rust-lang-nursery/futures-rs/deployments","created_at":"2016-03-30T16:03:08Z","updated_at":"2018-06-21T08:02:56Z","pushed_at":"2018-06-21T20:39:55Z","git_url":"git://github.com/rust-lang-nursery/futures-rs.git","ssh_url":"git@github.com:rust-lang-nursery/futures-rs.git","clone_url":"https://github.com/rust-lang-nursery/futures-rs.git","svn_url":"https://github.com/rust-lang-nursery/futures-rs","homepage":"https://docs.rs/futures","size":15372,"stargazers_count":2047,"watchers_count":2047,"language":"Rust","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":244,"mirror_url":null,"archived":false,"open_issues_count":86,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":244,"open_issues":86,"watchers":2047,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037"},"html":{"href":"https://github.com/rust-lang-nursery/futures-rs/pull/1037"},"issue":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/1037"},"comments":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/issues/1037/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037/comments"},"review_comment":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/pulls/1037/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang-nursery/futures-rs/statuses/41853e7f4958a3e4eb029ac00aade23a4cd02f2b"}},"author_association":"NONE"}}
{"actor":{"display_login":"cramertj"}}