{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/24162","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/24162/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/24162/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/24162/events","html_url":"https://github.com/rust-lang/rust/pull/24162","id":66942154,"number":24162,"title":"Check for duplicate loop labels in function bodies.","user":{"login":"pnkfelix","id":173127,"avatar_url":"https://avatars.githubusercontent.com/u/173127?v=3","gravatar_id":"","url":"https://api.github.com/users/pnkfelix","html_url":"https://github.com/pnkfelix","followers_url":"https://api.github.com/users/pnkfelix/followers","following_url":"https://api.github.com/users/pnkfelix/following{/other_user}","gists_url":"https://api.github.com/users/pnkfelix/gists{/gist_id}","starred_url":"https://api.github.com/users/pnkfelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pnkfelix/subscriptions","organizations_url":"https://api.github.com/users/pnkfelix/orgs","repos_url":"https://api.github.com/users/pnkfelix/repos","events_url":"https://api.github.com/users/pnkfelix/events{/privacy}","received_events_url":"https://api.github.com/users/pnkfelix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rust-lang/rust/labels/beta-nominated","name":"beta-nominated","color":"207de5"}],"state":"closed","locked":false,"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},"milestone":null,"comments":26,"created_at":"2015-04-07T17:20:43Z","updated_at":"2015-04-22T06:14:18Z","closed_at":"2015-04-21T23:26:49Z","pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/24162","html_url":"https://github.com/rust-lang/rust/pull/24162","diff_url":"https://github.com/rust-lang/rust/pull/24162.diff","patch_url":"https://github.com/rust-lang/rust/pull/24162.patch"},"body":"Check for duplicate loop labels in function bodies.\r\n\r\nSee also: http://internals.rust-lang.org/t/psa-rejecting-duplicate-loop-labels/1833\r\n\r\nThe change, which we are putting in as future-proofing in preparation for future potential additions to the language (namely labeling arbitrary blocks and using those labels in borrow expressions), means that code like this will start emitting warnings:\r\n\r\n```rust\r\nfn main() {\r\n    { 'a: loop { break; } }\r\n    { 'a: loop { break; } }\r\n}\r\n```\r\n\r\nTo make the above code compile without warnings, write this instead:\r\n\r\n```rust\r\nfn main() {\r\n    { 'a: loop { break; } }\r\n    { 'b: loop { break; } }\r\n}\r\n```\r\n\r\nSince this change is only introducing a new warnings, this change is non-breaking.\r\n\r\nFix #21633"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/95043387","html_url":"https://github.com/rust-lang/rust/pull/24162#issuecomment-95043387","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/24162","id":95043387,"user":{"login":"pnkfelix","id":173127,"avatar_url":"https://avatars.githubusercontent.com/u/173127?v=3","gravatar_id":"","url":"https://api.github.com/users/pnkfelix","html_url":"https://github.com/pnkfelix","followers_url":"https://api.github.com/users/pnkfelix/followers","following_url":"https://api.github.com/users/pnkfelix/following{/other_user}","gists_url":"https://api.github.com/users/pnkfelix/gists{/gist_id}","starred_url":"https://api.github.com/users/pnkfelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pnkfelix/subscriptions","organizations_url":"https://api.github.com/users/pnkfelix/orgs","repos_url":"https://api.github.com/users/pnkfelix/repos","events_url":"https://api.github.com/users/pnkfelix/events{/privacy}","received_events_url":"https://api.github.com/users/pnkfelix/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T06:14:18Z","updated_at":"2015-04-22T06:14:18Z","body":"@steveklabnik wrote:\r\n> long ago it did, but it would time out and such so https://github.com/rust-lang/rust/blob/master/.travis.yml#L17\r\n\r\nah.  Maybe we could try doing a \"build\" that just runs the type+borrow checking for a stage1 build, via `-Z no-trans` ... that in combination with not doing an LLVM build could be \"sufficiently speedy\", maybe ..."}}