{"action":"created","comment":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/comments/90787312","pull_request_review_id":11303085,"id":90787312,"diff_hunk":"@@ -0,0 +1,349 @@\n+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT\n+// file at the top-level directory of this distribution and at\n+// http://rust-lang.org/COPYRIGHT.\n+//\n+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or\n+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license\n+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your\n+// option. This file may not be copied, modified, or distributed\n+// except according to those terms.\n+\n+//! Check properties that are required by built-in traits and set\n+//! up data structures required by type-checking/translation.\n+\n+use rustc::middle::free_region::FreeRegionMap;\n+use rustc::middle::lang_items::UnsizeTraitLangItem;\n+\n+use rustc::traits::{self, ObligationCause, Reveal};\n+use rustc::ty::{self, Ty, TyCtxt};\n+use rustc::ty::ParameterEnvironment;\n+use rustc::ty::TypeFoldable;\n+use rustc::ty::subst::Subst;\n+use rustc::ty::util::CopyImplementationError;\n+use rustc::infer;\n+\n+use rustc::hir::def_id::DefId;\n+use rustc::hir::map as hir_map;\n+use rustc::hir::{self, ItemImpl};\n+\n+pub fn check<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {\n+    if let Some(drop_trait) = tcx.lang_items.drop_trait() {\n+        tcx.lookup_trait_def(drop_trait).for_each_impl(tcx, |impl_did| {\n+            visit_implementation_of_drop(tcx, impl_did)\n+        });\n+    }\n+\n+    if let Some(copy_trait) = tcx.lang_items.copy_trait() {\n+        tcx.lookup_trait_def(copy_trait).for_each_impl(tcx, |impl_did| {\n+            visit_implementation_of_copy(tcx, impl_did)\n+        });\n+    }\n+\n+    if let Some(coerce_unsized_trait) = tcx.lang_items.coerce_unsized_trait() {\n+        let unsize_trait = match tcx.lang_items.require(UnsizeTraitLangItem) {\n+            Ok(id) => id,\n+            Err(err) => {\n+                tcx.sess.fatal(&format!(\"`CoerceUnsized` implementation {}\", err));\n+            }\n+        };\n+\n+        tcx.lookup_trait_def(coerce_unsized_trait).for_each_impl(tcx, |impl_did| {\n+            visit_implementation_of_coerce_unsized(tcx, impl_did,\n+                                                   unsize_trait, coerce_unsized_trait)\n+        });\n+    }\n+}\n+\n+fn visit_implementation_of_drop<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, impl_did: DefId) {\n+    let items = tcx.associated_item_def_ids(impl_did);\n+    if items.is_empty() {\n+        // We'll error out later. For now, just don't ICE.\n+        return;\n+    }\n+    let method_def_id = items[0];\n+\n+    let self_type = tcx.item_type(impl_did);\n+    match self_type.sty {\n+        ty::TyAdt(type_def, _) => {\n+            type_def.set_destructor(method_def_id);\n+        }\n+        _ => {\n+            // Destructors only work on nominal types.\n+            if let Some(impl_node_id) = tcx.map.as_local_node_id(impl_did) {\n+                match tcx.map.find(impl_node_id) {\n+                    Some(hir_map::NodeItem(item)) => {\n+                        let span = match item.node {\n+                            ItemImpl(.., ref ty, _) => ty.span,\n+                            _ => item.span,\n+                        };\n+                        struct_span_err!(tcx.sess,\n+                                         span,\n+                                         E0120,\n+                                         \"the Drop trait may only be implemented on \\\n+                                         structures\")\n+                            .span_label(span,\n+                                        &format!(\"implementing Drop requires a struct\"))\n+                            .emit();\n+                    }\n+                    _ => {\n+                        bug!(\"didn't find impl in ast map\");\n+                    }\n+                }\n+            } else {\n+                bug!(\"found external impl of Drop trait on \\\n+                      something other than a struct\");\n+            }\n+        }\n+    }\n+}\n+\n+fn visit_implementation_of_copy<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, impl_did: DefId) {\n+    debug!(\"visit_implementation_of_copy: impl_did={:?}\", impl_did);\n+\n+    let impl_node_id = if let Some(n) = tcx.map.as_local_node_id(impl_did) {\n+        n\n+    } else {\n+        debug!(\"visit_implementation_of_copy(): impl not in this \\\n+                crate\");\n+        return;\n+    };\n+\n+    let self_type = tcx.item_type(impl_did);\n+    debug!(\"visit_implementation_of_copy: self_type={:?} (bound)\",\n+           self_type);\n+\n+    let span = tcx.map.span(impl_node_id);\n+    let param_env = ParameterEnvironment::for_item(tcx, impl_node_id);\n+    let self_type = self_type.subst(tcx, &param_env.free_substs);\n+    assert!(!self_type.has_escaping_regions());\n+\n+    debug!(\"visit_implementation_of_copy: self_type={:?} (free)\",\n+           self_type);\n+\n+    match param_env.can_type_implement_copy(tcx, self_type, span) {\n+        Ok(()) => {}\n+        Err(CopyImplementationError::InfrigingField(name)) => {\n+            struct_span_err!(tcx.sess,\n+                             span,\n+                             E0204,\n+                             \"the trait `Copy` may not be implemented for this type\")\n+                .span_label(span, &format!(\"field `{}` does not implement `Copy`\", name))\n+                .emit()\n+        }\n+        Err(CopyImplementationError::InfrigingVariant(name)) => {\n+            let item = tcx.map.expect_item(impl_node_id);\n+            let span = if let ItemImpl(.., Some(ref tr), _, _) = item.node {\n+                tr.path.span\n+            } else {\n+                span\n+            };\n+\n+            struct_span_err!(tcx.sess,\n+                             span,\n+                             E0205,\n+                             \"the trait `Copy` may not be implemented for this type\")\n+                .span_label(span,\n+                            &format!(\"variant `{}` does not implement `Copy`\", name))\n+                .emit()\n+        }\n+        Err(CopyImplementationError::NotAnAdt) => {\n+            let item = tcx.map.expect_item(impl_node_id);\n+            let span = if let ItemImpl(.., ref ty, _) = item.node {\n+                ty.span\n+            } else {\n+                span\n+            };\n+\n+            struct_span_err!(tcx.sess,\n+                             span,\n+                             E0206,\n+                             \"the trait `Copy` may not be implemented for this type\")\n+                .span_label(span, &format!(\"type is not a structure or enumeration\"))\n+                .emit();\n+        }\n+        Err(CopyImplementationError::HasDestructor) => {\n+            struct_span_err!(tcx.sess,\n+                             span,\n+                             E0184,\n+                             \"the trait `Copy` may not be implemented for this type; the \\\n+                              type has a destructor\")\n+                .span_label(span, &format!(\"Copy not allowed on types with destructors\"))\n+                .emit();\n+        }\n+    }\n+}\n+\n+fn visit_implementation_of_coerce_unsized<'a, 'tcx>(\n+    tcx: TyCtxt<'a, 'tcx, 'tcx>, impl_did: DefId,","path":"src/librustc_typeck/coherence/builtin.rs","position":177,"original_position":177,"commit_id":"d662ceb20083ea595d5f07a4fcef2fb9b31220be","original_commit_id":"d662ceb20083ea595d5f07a4fcef2fb9b31220be","user":{"login":"mrhota","id":403641,"avatar_url":"https://avatars.githubusercontent.com/u/403641?v=3","gravatar_id":"","url":"https://api.github.com/users/mrhota","html_url":"https://github.com/mrhota","followers_url":"https://api.github.com/users/mrhota/followers","following_url":"https://api.github.com/users/mrhota/following{/other_user}","gists_url":"https://api.github.com/users/mrhota/gists{/gist_id}","starred_url":"https://api.github.com/users/mrhota/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrhota/subscriptions","organizations_url":"https://api.github.com/users/mrhota/orgs","repos_url":"https://api.github.com/users/mrhota/repos","events_url":"https://api.github.com/users/mrhota/events{/privacy}","received_events_url":"https://api.github.com/users/mrhota/received_events","type":"User","site_admin":false},"body":"nit: maybe separate each arg on its own line?","created_at":"2016-12-04T22:02:57Z","updated_at":"2016-12-04T22:02:57Z","html_url":"https://github.com/rust-lang/rust/pull/38152#discussion_r90787312","pull_request_url":"https://api.github.com/repos/rust-lang/rust/pulls/38152","_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/comments/90787312"},"html":{"href":"https://github.com/rust-lang/rust/pull/38152#discussion_r90787312"},"pull_request":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/38152"}}},"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/38152","id":96415692,"html_url":"https://github.com/rust-lang/rust/pull/38152","diff_url":"https://github.com/rust-lang/rust/pull/38152.diff","patch_url":"https://github.com/rust-lang/rust/pull/38152.patch","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/38152","number":38152,"state":"open","locked":false,"title":"Fix associated types in copy implementations","user":{"login":"arielb1","id":1830974,"avatar_url":"https://avatars.githubusercontent.com/u/1830974?v=3","gravatar_id":"","url":"https://api.github.com/users/arielb1","html_url":"https://github.com/arielb1","followers_url":"https://api.github.com/users/arielb1/followers","following_url":"https://api.github.com/users/arielb1/following{/other_user}","gists_url":"https://api.github.com/users/arielb1/gists{/gist_id}","starred_url":"https://api.github.com/users/arielb1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arielb1/subscriptions","organizations_url":"https://api.github.com/users/arielb1/orgs","repos_url":"https://api.github.com/users/arielb1/repos","events_url":"https://api.github.com/users/arielb1/events{/privacy}","received_events_url":"https://api.github.com/users/arielb1/received_events","type":"User","site_admin":false},"body":"Fixes an ICE and an error in checking copy implementations.\r\n\r\nr? @nikomatsakis ","created_at":"2016-12-04T00:05:17Z","updated_at":"2016-12-04T22:02:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"46fba3cf6151a1051b208a17a701c4a50d329632","assignee":{"login":"nikomatsakis","id":155238,"avatar_url":"https://avatars.githubusercontent.com/u/155238?v=3","gravatar_id":"","url":"https://api.github.com/users/nikomatsakis","html_url":"https://github.com/nikomatsakis","followers_url":"https://api.github.com/users/nikomatsakis/followers","following_url":"https://api.github.com/users/nikomatsakis/following{/other_user}","gists_url":"https://api.github.com/users/nikomatsakis/gists{/gist_id}","starred_url":"https://api.github.com/users/nikomatsakis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikomatsakis/subscriptions","organizations_url":"https://api.github.com/users/nikomatsakis/orgs","repos_url":"https://api.github.com/users/nikomatsakis/repos","events_url":"https://api.github.com/users/nikomatsakis/events{/privacy}","received_events_url":"https://api.github.com/users/nikomatsakis/received_events","type":"User","site_admin":false},"assignees":[{"login":"nikomatsakis","id":155238,"avatar_url":"https://avatars.githubusercontent.com/u/155238?v=3","gravatar_id":"","url":"https://api.github.com/users/nikomatsakis","html_url":"https://github.com/nikomatsakis","followers_url":"https://api.github.com/users/nikomatsakis/followers","following_url":"https://api.github.com/users/nikomatsakis/following{/other_user}","gists_url":"https://api.github.com/users/nikomatsakis/gists{/gist_id}","starred_url":"https://api.github.com/users/nikomatsakis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikomatsakis/subscriptions","organizations_url":"https://api.github.com/users/nikomatsakis/orgs","repos_url":"https://api.github.com/users/nikomatsakis/repos","events_url":"https://api.github.com/users/nikomatsakis/events{/privacy}","received_events_url":"https://api.github.com/users/nikomatsakis/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/rust-lang/rust/pulls/38152/commits","review_comments_url":"https://api.github.com/repos/rust-lang/rust/pulls/38152/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/38152/comments","statuses_url":"https://api.github.com/repos/rust-lang/rust/statuses/d662ceb20083ea595d5f07a4fcef2fb9b31220be","head":{"label":"arielb1:special-copy","ref":"special-copy","sha":"d662ceb20083ea595d5f07a4fcef2fb9b31220be","user":{"login":"arielb1","id":1830974,"avatar_url":"https://avatars.githubusercontent.com/u/1830974?v=3","gravatar_id":"","url":"https://api.github.com/users/arielb1","html_url":"https://github.com/arielb1","followers_url":"https://api.github.com/users/arielb1/followers","following_url":"https://api.github.com/users/arielb1/following{/other_user}","gists_url":"https://api.github.com/users/arielb1/gists{/gist_id}","starred_url":"https://api.github.com/users/arielb1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arielb1/subscriptions","organizations_url":"https://api.github.com/users/arielb1/orgs","repos_url":"https://api.github.com/users/arielb1/repos","events_url":"https://api.github.com/users/arielb1/events{/privacy}","received_events_url":"https://api.github.com/users/arielb1/received_events","type":"User","site_admin":false},"repo":{"id":20256861,"name":"rust","full_name":"arielb1/rust","owner":{"login":"arielb1","id":1830974,"avatar_url":"https://avatars.githubusercontent.com/u/1830974?v=3","gravatar_id":"","url":"https://api.github.com/users/arielb1","html_url":"https://github.com/arielb1","followers_url":"https://api.github.com/users/arielb1/followers","following_url":"https://api.github.com/users/arielb1/following{/other_user}","gists_url":"https://api.github.com/users/arielb1/gists{/gist_id}","starred_url":"https://api.github.com/users/arielb1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arielb1/subscriptions","organizations_url":"https://api.github.com/users/arielb1/orgs","repos_url":"https://api.github.com/users/arielb1/repos","events_url":"https://api.github.com/users/arielb1/events{/privacy}","received_events_url":"https://api.github.com/users/arielb1/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/arielb1/rust","description":"a safe, concurrent, practical language","fork":true,"url":"https://api.github.com/repos/arielb1/rust","forks_url":"https://api.github.com/repos/arielb1/rust/forks","keys_url":"https://api.github.com/repos/arielb1/rust/keys{/key_id}","collaborators_url":"https://api.github.com/repos/arielb1/rust/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/arielb1/rust/teams","hooks_url":"https://api.github.com/repos/arielb1/rust/hooks","issue_events_url":"https://api.github.com/repos/arielb1/rust/issues/events{/number}","events_url":"https://api.github.com/repos/arielb1/rust/events","assignees_url":"https://api.github.com/repos/arielb1/rust/assignees{/user}","branches_url":"https://api.github.com/repos/arielb1/rust/branches{/branch}","tags_url":"https://api.github.com/repos/arielb1/rust/tags","blobs_url":"https://api.github.com/repos/arielb1/rust/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/arielb1/rust/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/arielb1/rust/git/refs{/sha}","trees_url":"https://api.github.com/repos/arielb1/rust/git/trees{/sha}","statuses_url":"https://api.github.com/repos/arielb1/rust/statuses/{sha}","languages_url":"https://api.github.com/repos/arielb1/rust/languages","stargazers_url":"https://api.github.com/repos/arielb1/rust/stargazers","contributors_url":"https://api.github.com/repos/arielb1/rust/contributors","subscribers_url":"https://api.github.com/repos/arielb1/rust/subscribers","subscription_url":"https://api.github.com/repos/arielb1/rust/subscription","commits_url":"https://api.github.com/repos/arielb1/rust/commits{/sha}","git_commits_url":"https://api.github.com/repos/arielb1/rust/git/commits{/sha}","comments_url":"https://api.github.com/repos/arielb1/rust/comments{/number}","issue_comment_url":"https://api.github.com/repos/arielb1/rust/issues/comments{/number}","contents_url":"https://api.github.com/repos/arielb1/rust/contents/{+path}","compare_url":"https://api.github.com/repos/arielb1/rust/compare/{base}...{head}","merges_url":"https://api.github.com/repos/arielb1/rust/merges","archive_url":"https://api.github.com/repos/arielb1/rust/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/arielb1/rust/downloads","issues_url":"https://api.github.com/repos/arielb1/rust/issues{/number}","pulls_url":"https://api.github.com/repos/arielb1/rust/pulls{/number}","milestones_url":"https://api.github.com/repos/arielb1/rust/milestones{/number}","notifications_url":"https://api.github.com/repos/arielb1/rust/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/arielb1/rust/labels{/name}","releases_url":"https://api.github.com/repos/arielb1/rust/releases{/id}","deployments_url":"https://api.github.com/repos/arielb1/rust/deployments","created_at":"2014-05-28T12:39:09Z","updated_at":"2016-01-19T22:14:34Z","pushed_at":"2016-12-04T00:04:41Z","git_url":"git://github.com/arielb1/rust.git","ssh_url":"git@github.com:arielb1/rust.git","clone_url":"https://github.com/arielb1/rust.git","svn_url":"https://github.com/arielb1/rust","homepage":"http://www.rust-lang.org","size":313750,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rust-lang:master","ref":"master","sha":"2cdbd5eb4255974db204819f9aa49c00b15a6d23","user":{"login":"rust-lang","id":5430905,"avatar_url":"https://avatars.githubusercontent.com/u/5430905?v=3","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,"name":"rust","full_name":"rust-lang/rust","owner":{"login":"rust-lang","id":5430905,"avatar_url":"https://avatars.githubusercontent.com/u/5430905?v=3","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},"private":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":"2016-12-04T21:58:05Z","pushed_at":"2016-12-04T21:51:38Z","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":527912,"stargazers_count":19226,"watchers_count":19226,"language":"Rust","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3697,"mirror_url":null,"open_issues_count":2930,"forks":3697,"open_issues":2930,"watchers":19226,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/38152"},"html":{"href":"https://github.com/rust-lang/rust/pull/38152"},"issue":{"href":"https://api.github.com/repos/rust-lang/rust/issues/38152"},"comments":{"href":"https://api.github.com/repos/rust-lang/rust/issues/38152/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang/rust/pulls/38152/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/38152/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang/rust/statuses/d662ceb20083ea595d5f07a4fcef2fb9b31220be"}}}}
{"actor":{"display_login":"mrhota"}}