{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/24370","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/24370/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/24370/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/24370/events","html_url":"https://github.com/rust-lang/rust/pull/24370","id":68064761,"number":24370,"title":"Ensure a sole string-literal passed to `panic!` is not a fmt string.","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":[],"state":"open","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":13,"created_at":"2015-04-13T10:35:14Z","updated_at":"2015-04-14T16:29:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/24370","html_url":"https://github.com/rust-lang/rust/pull/24370","diff_url":"https://github.com/rust-lang/rust/pull/24370.diff","patch_url":"https://github.com/rust-lang/rust/pull/24370.patch"},"body":"Ensure a sole string-literal passed to `panic!` is not a fmt string.\r\n\r\nTo accomplish this, adds `ensure_not_fmt_string_literal!` macro that will fail the compile if its expression argument is a fmt string literal.\r\n\r\nSince this is making a certain kind of use of `panic!` illegal, it is a:\r\n\r\n[breaking-change]\r\n\r\nIn particular, a panic like this:\r\n\r\n```rust\r\npanic!(\"Is it stringified code: { or is it a ill-formed fmt arg? }\");\r\n```\r\n\r\nmust be rewritten; one easy rewrite is to add parentheses:\r\n\r\n```rust\r\npanic!((\"Is it stringified code: { or is it a ill-formed fmt arg? }\"));\r\n```\r\n\r\n----\r\n\r\nFix #22932."},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/92956559","html_url":"https://github.com/rust-lang/rust/pull/24370#issuecomment-92956559","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/24370","id":92956559,"user":{"login":"alexcrichton","id":64996,"avatar_url":"https://avatars.githubusercontent.com/u/64996?v=3","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},"created_at":"2015-04-14T16:29:26Z","updated_at":"2015-04-14T16:29:26Z","body":"@pnkfelix hm what's the rationale for having this be a lint? As in, when the lint warning fires and I change my code, what benefit is reaped from the modification?"}}