{"action":"created","comment":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/comments/237600269","pull_request_review_id":179940038,"id":237600269,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNzYwMDI2OQ==","diff_hunk":"@@ -29,12 +29,45 @@ use intrinsics;\n use mem;\n use ptr;\n use raw;\n-use sys::stdio::{Stderr, stderr_prints_nothing};\n+use sys::stdio::Stderr;\n use sys_common::rwlock::RWLock;\n use sys_common::thread_info;\n use sys_common::util;\n use thread;\n \n+pub(crate) trait PanicWrite {\n+    /// Is there any way to output panic messages on this platform? If this\n+    /// returns `false`, callers might avoid calling `write`. However, `write`\n+    /// may still be called and implementors must be prepared for this.\n+    fn is_enabled() -> bool;\n+\n+    /// This function should construct a `Write`r and call the closure passing\n+    /// it in.\n+    fn write<T, F: FnOnce(&mut dyn Write) -> T>(write: F);\n+}\n+\n+pub use sys::stdio::PanicOutput;","path":"src/libstd/panicking.rs","position":22,"original_position":22,"commit_id":"1790553d950450ddc64f6288994f8da14f809192","original_commit_id":"1790553d950450ddc64f6288994f8da14f809192","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},"body":"Right yeah, but you previously had something like `fn() -> Option<fn() -> impl Write>`, right? Could this simply be roughly `fn() -> Option<impl Write>`?","created_at":"2018-11-29T18:13:00Z","updated_at":"2018-11-29T18:13:00Z","html_url":"https://github.com/rust-lang/rust/pull/56066#discussion_r237600269","pull_request_url":"https://api.github.com/repos/rust-lang/rust/pulls/56066","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/comments/237600269"},"html":{"href":"https://github.com/rust-lang/rust/pull/56066#discussion_r237600269"},"pull_request":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/56066"}},"in_reply_to_id":237541344},"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/56066","id":231935737,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMxOTM1NzM3","html_url":"https://github.com/rust-lang/rust/pull/56066","diff_url":"https://github.com/rust-lang/rust/pull/56066.diff","patch_url":"https://github.com/rust-lang/rust/pull/56066.patch","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/56066","number":56066,"state":"open","locked":false,"title":"Add SGX target to std and dependencies","user":{"login":"jethrogb","id":1132307,"node_id":"MDQ6VXNlcjExMzIzMDc=","avatar_url":"https://avatars0.githubusercontent.com/u/1132307?v=4","gravatar_id":"","url":"https://api.github.com/users/jethrogb","html_url":"https://github.com/jethrogb","followers_url":"https://api.github.com/users/jethrogb/followers","following_url":"https://api.github.com/users/jethrogb/following{/other_user}","gists_url":"https://api.github.com/users/jethrogb/gists{/gist_id}","starred_url":"https://api.github.com/users/jethrogb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jethrogb/subscriptions","organizations_url":"https://api.github.com/users/jethrogb/orgs","repos_url":"https://api.github.com/users/jethrogb/repos","events_url":"https://api.github.com/users/jethrogb/events{/privacy}","received_events_url":"https://api.github.com/users/jethrogb/received_events","type":"User","site_admin":false},"body":"This PR adds tier 3 `std` support for the `x86_64-fortanix-unknown-sgx` target.\r\n\r\n### Background\r\n\r\nIntel Software Guard Extensions (SGX) is an instruction set extension for x86 that allows executing code in fully-isolated *secure enclaves*. These enclaves reside in the address space of a regular user process, but access to the enclave's address space from outside (by e.g. the OS or a hypervisor) is blocked.\r\n\r\nFrom within such enclaves, there is no access to the operating system or hardware peripherals. In order to communicate with the outside world, enclaves require an untrusted “helper” program that runs as a normal user process.\r\n\r\nSGX is **not** a sandboxing technology: code inside SGX has full access to all memory belonging to the process it is running in.\r\n\r\n### Overview\r\n\r\nThe Fortanix SGX ABI (compiler target `x86_64-fortanix-unknown-sgx`) is an interface for Intel SGX enclaves. It is a small yet functional interface suitable for writing larger enclaves. In contrast to other enclave interfaces, this interface is primarly designed for running entire applications in an enclave. The interface has been under development since early 2016 and builds on Fortanix's significant experience running enclaves in production.\r\n\r\nAlso unlike other enclave interfaces, this is the only implementation of an enclave interface that is nearly pure-Rust (except for the entry point code).\r\n\r\nA description of the ABI may be found at https://docs.rs/fortanix-sgx-abi/ and https://github.com/fortanix/rust-sgx/blob/master/doc/FORTANIX-SGX-ABI.md.\r\n\r\nThe following parts of `std` are not supported and most operations will error when used:\r\n\r\n* `std::fs`\r\n* `std::process`\r\n* `std::net::UdpSocket`\r\n\r\n### Future plans\r\n\r\nA separate PR (https://github.com/rust-lang/rust/pull/56067/) will add the SGX target to the rust compiler. In the very near future, I expect to upgrade this target to tier 2.\r\n\r\nThis PR is just the initial support to make things mostly work. There will be more work coming in the future, for example to add interfaces to the native SGX primitives, implement unwinding, optimize usercalls.\r\n\r\nUDP and some form of filesystem support may be added in the future, but process support seems unlikely given the platform's constraints.\r\n\r\n### Testing build\r\n\r\n1. Install [Xargo](https://github.com/japaric/xargo): `cargo install xargo`\r\n2. Create a new Cargo project, for example: `cargo new --bin sgxtest`.\r\n3. Put the following in a file `Xargo.toml` next to your `Cargo.toml`:\r\n\r\n```toml\r\n[target.x86_64-fortanix-unknown-sgx.dependencies.std]\r\ngit = \"https://github.com/jethrogb/rust\"\r\nbranch = \"jb/sgx-target\"\r\n```\r\n\r\nNB. This can be quite slow. Instead, you can have a local checkout of that branch and use `path = \"/path/to/rust/src/libstd\"` instead. Don't forget to checkout the submodules too!\r\n\r\n4. Build:\r\n\r\n```sh\r\nxargo build --target x86_64-fortanix-unknown-sgx\r\n```\r\n\r\n### Testing execution\r\n\r\nExecution is currently only supported on x86-64 Linux, but support for Windows is planned.\r\n\r\n1. Install pre-requisites. In order to test execution, you'll need to have a CPU with Intel SGX support. SGX support needs to be enabled in the BIOS. You'll also need to install the SGX driver and Platform Software (PSW) from [Intel](https://01.org/intel-software-guard-extensions).\r\n\r\n2. Install toolchain, executor:\r\n```sh\r\ncargo install sgxs-tools --version 0.6.0-rc1\r\ncargo install fortanix-sgx-tools --version 0.1.0-rc1\r\n```\r\n\r\n3. Start the enclave:\r\n\r\n```sh\r\nftxsgx-elf2sgxs target/x86_64-fortanix-unknown-sgx/debug/sgxtest --heap-size 0x20000 --ssaframesize 1 --stack-size 0x20000 --threads 1 --debug\r\nsgxs-append -i target/x86_64-fortanix-unknown-sgx/debug/sgxtest.sgxs\r\nftxsgx-runner target/x86_64-fortanix-unknown-sgx/debug/sgxtest.sgxs\r\n```\r\n","created_at":"2018-11-19T11:15:06Z","updated_at":"2018-11-29T18:13:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"58584dedafbd181f8dda4d83d8253688acfc047f","assignee":{"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},"assignees":[{"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}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":583426710,"node_id":"MDU6TGFiZWw1ODM0MjY3MTA=","url":"https://api.github.com/repos/rust-lang/rust/labels/S-waiting-on-review","name":"S-waiting-on-review","color":"d3dddd","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/rust-lang/rust/pulls/56066/commits","review_comments_url":"https://api.github.com/repos/rust-lang/rust/pulls/56066/comments","review_comment_url":"https://api.github.com/repos/rust-lang/rust/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/56066/comments","statuses_url":"https://api.github.com/repos/rust-lang/rust/statuses/1790553d950450ddc64f6288994f8da14f809192","head":{"label":"jethrogb:jb/sgx-target","ref":"jb/sgx-target","sha":"1790553d950450ddc64f6288994f8da14f809192","user":{"login":"jethrogb","id":1132307,"node_id":"MDQ6VXNlcjExMzIzMDc=","avatar_url":"https://avatars0.githubusercontent.com/u/1132307?v=4","gravatar_id":"","url":"https://api.github.com/users/jethrogb","html_url":"https://github.com/jethrogb","followers_url":"https://api.github.com/users/jethrogb/followers","following_url":"https://api.github.com/users/jethrogb/following{/other_user}","gists_url":"https://api.github.com/users/jethrogb/gists{/gist_id}","starred_url":"https://api.github.com/users/jethrogb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jethrogb/subscriptions","organizations_url":"https://api.github.com/users/jethrogb/orgs","repos_url":"https://api.github.com/users/jethrogb/repos","events_url":"https://api.github.com/users/jethrogb/events{/privacy}","received_events_url":"https://api.github.com/users/jethrogb/received_events","type":"User","site_admin":false},"repo":{"id":38935392,"node_id":"MDEwOlJlcG9zaXRvcnkzODkzNTM5Mg==","name":"rust","full_name":"jethrogb/rust","private":false,"owner":{"login":"jethrogb","id":1132307,"node_id":"MDQ6VXNlcjExMzIzMDc=","avatar_url":"https://avatars0.githubusercontent.com/u/1132307?v=4","gravatar_id":"","url":"https://api.github.com/users/jethrogb","html_url":"https://github.com/jethrogb","followers_url":"https://api.github.com/users/jethrogb/followers","following_url":"https://api.github.com/users/jethrogb/following{/other_user}","gists_url":"https://api.github.com/users/jethrogb/gists{/gist_id}","starred_url":"https://api.github.com/users/jethrogb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jethrogb/subscriptions","organizations_url":"https://api.github.com/users/jethrogb/orgs","repos_url":"https://api.github.com/users/jethrogb/repos","events_url":"https://api.github.com/users/jethrogb/events{/privacy}","received_events_url":"https://api.github.com/users/jethrogb/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jethrogb/rust","description":"A safe, concurrent, practical language.","fork":true,"url":"https://api.github.com/repos/jethrogb/rust","forks_url":"https://api.github.com/repos/jethrogb/rust/forks","keys_url":"https://api.github.com/repos/jethrogb/rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jethrogb/rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jethrogb/rust/teams","hooks_url":"https://api.github.com/repos/jethrogb/rust/hooks","issue_events_url":"https://api.github.com/repos/jethrogb/rust/issues/events{/number}","events_url":"https://api.github.com/repos/jethrogb/rust/events","assignees_url":"https://api.github.com/repos/jethrogb/rust/assignees{/user}","branches_url":"https://api.github.com/repos/jethrogb/rust/branches{/branch}","tags_url":"https://api.github.com/repos/jethrogb/rust/tags","blobs_url":"https://api.github.com/repos/jethrogb/rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jethrogb/rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jethrogb/rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/jethrogb/rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jethrogb/rust/statuses/{sha}","languages_url":"https://api.github.com/repos/jethrogb/rust/languages","stargazers_url":"https://api.github.com/repos/jethrogb/rust/stargazers","contributors_url":"https://api.github.com/repos/jethrogb/rust/contributors","subscribers_url":"https://api.github.com/repos/jethrogb/rust/subscribers","subscription_url":"https://api.github.com/repos/jethrogb/rust/subscription","commits_url":"https://api.github.com/repos/jethrogb/rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/jethrogb/rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/jethrogb/rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/jethrogb/rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/jethrogb/rust/contents/{+path}","compare_url":"https://api.github.com/repos/jethrogb/rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jethrogb/rust/merges","archive_url":"https://api.github.com/repos/jethrogb/rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jethrogb/rust/downloads","issues_url":"https://api.github.com/repos/jethrogb/rust/issues{/number}","pulls_url":"https://api.github.com/repos/jethrogb/rust/pulls{/number}","milestones_url":"https://api.github.com/repos/jethrogb/rust/milestones{/number}","notifications_url":"https://api.github.com/repos/jethrogb/rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jethrogb/rust/labels{/name}","releases_url":"https://api.github.com/repos/jethrogb/rust/releases{/id}","deployments_url":"https://api.github.com/repos/jethrogb/rust/deployments","created_at":"2015-07-11T18:03:29Z","updated_at":"2016-02-09T03:28:25Z","pushed_at":"2018-11-29T15:45:51Z","git_url":"git://github.com/jethrogb/rust.git","ssh_url":"git@github.com:jethrogb/rust.git","clone_url":"https://github.com/jethrogb/rust.git","svn_url":"https://github.com/jethrogb/rust","homepage":"http://www.rust-lang.org","size":400937,"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":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rust-lang:master","ref":"master","sha":"0c1dc62c1ec3c23dcb5e90500a2b3b25817ad03a","user":{"login":"rust-lang","id":5430905,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MzA5MDU=","avatar_url":"https://avatars1.githubusercontent.com/u/5430905?v=4","gravatar_id":"","url":"https://api.github.com/users/rust-lang","html_url":"https://github.com/rust-lang","followers_url":"https://api.github.com/users/rust-lang/followers","following_url":"https://api.github.com/users/rust-lang/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang/subscriptions","organizations_url":"https://api.github.com/users/rust-lang/orgs","repos_url":"https://api.github.com/users/rust-lang/repos","events_url":"https://api.github.com/users/rust-lang/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang/received_events","type":"Organization","site_admin":false},"repo":{"id":724712,"node_id":"MDEwOlJlcG9zaXRvcnk3MjQ3MTI=","name":"rust","full_name":"rust-lang/rust","private":false,"owner":{"login":"rust-lang","id":5430905,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MzA5MDU=","avatar_url":"https://avatars1.githubusercontent.com/u/5430905?v=4","gravatar_id":"","url":"https://api.github.com/users/rust-lang","html_url":"https://github.com/rust-lang","followers_url":"https://api.github.com/users/rust-lang/followers","following_url":"https://api.github.com/users/rust-lang/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang/subscriptions","organizations_url":"https://api.github.com/users/rust-lang/orgs","repos_url":"https://api.github.com/users/rust-lang/repos","events_url":"https://api.github.com/users/rust-lang/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/rust-lang/rust","description":"A safe, concurrent, practical language.","fork":false,"url":"https://api.github.com/repos/rust-lang/rust","forks_url":"https://api.github.com/repos/rust-lang/rust/forks","keys_url":"https://api.github.com/repos/rust-lang/rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rust-lang/rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rust-lang/rust/teams","hooks_url":"https://api.github.com/repos/rust-lang/rust/hooks","issue_events_url":"https://api.github.com/repos/rust-lang/rust/issues/events{/number}","events_url":"https://api.github.com/repos/rust-lang/rust/events","assignees_url":"https://api.github.com/repos/rust-lang/rust/assignees{/user}","branches_url":"https://api.github.com/repos/rust-lang/rust/branches{/branch}","tags_url":"https://api.github.com/repos/rust-lang/rust/tags","blobs_url":"https://api.github.com/repos/rust-lang/rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rust-lang/rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rust-lang/rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/rust-lang/rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rust-lang/rust/statuses/{sha}","languages_url":"https://api.github.com/repos/rust-lang/rust/languages","stargazers_url":"https://api.github.com/repos/rust-lang/rust/stargazers","contributors_url":"https://api.github.com/repos/rust-lang/rust/contributors","subscribers_url":"https://api.github.com/repos/rust-lang/rust/subscribers","subscription_url":"https://api.github.com/repos/rust-lang/rust/subscription","commits_url":"https://api.github.com/repos/rust-lang/rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/rust-lang/rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/rust-lang/rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/rust-lang/rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/rust-lang/rust/contents/{+path}","compare_url":"https://api.github.com/repos/rust-lang/rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rust-lang/rust/merges","archive_url":"https://api.github.com/repos/rust-lang/rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rust-lang/rust/downloads","issues_url":"https://api.github.com/repos/rust-lang/rust/issues{/number}","pulls_url":"https://api.github.com/repos/rust-lang/rust/pulls{/number}","milestones_url":"https://api.github.com/repos/rust-lang/rust/milestones{/number}","notifications_url":"https://api.github.com/repos/rust-lang/rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rust-lang/rust/labels{/name}","releases_url":"https://api.github.com/repos/rust-lang/rust/releases{/id}","deployments_url":"https://api.github.com/repos/rust-lang/rust/deployments","created_at":"2010-06-16T20:39:03Z","updated_at":"2018-11-29T17:45:12Z","pushed_at":"2018-11-29T18:01:01Z","git_url":"git://github.com/rust-lang/rust.git","ssh_url":"git@github.com:rust-lang/rust.git","clone_url":"https://github.com/rust-lang/rust.git","svn_url":"https://github.com/rust-lang/rust","homepage":"https://www.rust-lang.org","size":405858,"stargazers_count":32100,"watchers_count":32100,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5338,"mirror_url":null,"archived":false,"open_issues_count":4614,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":5338,"open_issues":4614,"watchers":32100,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/56066"},"html":{"href":"https://github.com/rust-lang/rust/pull/56066"},"issue":{"href":"https://api.github.com/repos/rust-lang/rust/issues/56066"},"comments":{"href":"https://api.github.com/repos/rust-lang/rust/issues/56066/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/56066/comments"},"review_comment":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/56066/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang/rust/statuses/1790553d950450ddc64f6288994f8da14f809192"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"alexcrichton"}}