{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/14597","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/14597/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/14597/comments","events_url":"https://api.github.com/repos/apple/swift/issues/14597/events","html_url":"https://github.com/apple/swift/pull/14597","id":296864579,"number":14597,"title":" [Type checker] Suppress near-miss warnings within the type definition.","user":{"login":"DougGregor","id":989428,"avatar_url":"https://avatars3.githubusercontent.com/u/989428?v=4","gravatar_id":"","url":"https://api.github.com/users/DougGregor","html_url":"https://github.com/DougGregor","followers_url":"https://api.github.com/users/DougGregor/followers","following_url":"https://api.github.com/users/DougGregor/following{/other_user}","gists_url":"https://api.github.com/users/DougGregor/gists{/gist_id}","starred_url":"https://api.github.com/users/DougGregor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DougGregor/subscriptions","organizations_url":"https://api.github.com/users/DougGregor/orgs","repos_url":"https://api.github.com/users/DougGregor/repos","events_url":"https://api.github.com/users/DougGregor/events{/privacy}","received_events_url":"https://api.github.com/users/DougGregor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-02-13T19:53:50Z","updated_at":"2018-02-13T19:54:19Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/14597","html_url":"https://github.com/apple/swift/pull/14597","diff_url":"https://github.com/apple/swift/pull/14597.diff","patch_url":"https://github.com/apple/swift/pull/14597.patch"},"body":"There are a number of things that can only be written within the main\r\ntype definition (e.g., required initializers, stored properties),\r\nmaking it far more likely that we'll get false positives from the\r\nnewly-introduced \"near-miss\" warnings for protocol\r\nconformances. Moreover, sometimes a number of protocol conformances\r\nare placed on the main type definition, increasing the potential for\r\nfalse positives.\r\n\r\nSuppress near-miss warnings for potential candidates when the protocol\r\nconformance is stated on the main type definition itself. Therefore,\r\nwe only perform near-miss checking of non-@objc requirements when the\r\nconformance itself was declared on an extension, which is roughly the\r\ndevelopment style that near-miss warnings favor.\r\n\r\nFixes rdar://problem/37283860."},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/365384296","html_url":"https://github.com/apple/swift/pull/14597#issuecomment-365384296","issue_url":"https://api.github.com/repos/apple/swift/issues/14597","id":365384296,"user":{"login":"DougGregor","id":989428,"avatar_url":"https://avatars3.githubusercontent.com/u/989428?v=4","gravatar_id":"","url":"https://api.github.com/users/DougGregor","html_url":"https://github.com/DougGregor","followers_url":"https://api.github.com/users/DougGregor/followers","following_url":"https://api.github.com/users/DougGregor/following{/other_user}","gists_url":"https://api.github.com/users/DougGregor/gists{/gist_id}","starred_url":"https://api.github.com/users/DougGregor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DougGregor/subscriptions","organizations_url":"https://api.github.com/users/DougGregor/orgs","repos_url":"https://api.github.com/users/DougGregor/repos","events_url":"https://api.github.com/users/DougGregor/events{/privacy}","received_events_url":"https://api.github.com/users/DougGregor/received_events","type":"User","site_admin":false},"created_at":"2018-02-13T19:54:19Z","updated_at":"2018-02-13T19:54:19Z","author_association":"MEMBER","body":"@NachoSoto , we'll see if this strikes the right balance"}}
{"actor":{"display_login":"DougGregor"}}