{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/5243","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/5243/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/5243/comments","events_url":"https://api.github.com/repos/apple/swift/issues/5243/events","html_url":"https://github.com/apple/swift/pull/5243","id":182408512,"number":5243,"title":"[3.0 compat] Don't diagnose @escaping var-arg closures.","user":{"login":"milseman","id":235334,"avatar_url":"https://avatars.githubusercontent.com/u/235334?v=3","gravatar_id":"","url":"https://api.github.com/users/milseman","html_url":"https://github.com/milseman","followers_url":"https://api.github.com/users/milseman/followers","following_url":"https://api.github.com/users/milseman/following{/other_user}","gists_url":"https://api.github.com/users/milseman/gists{/gist_id}","starred_url":"https://api.github.com/users/milseman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/milseman/subscriptions","organizations_url":"https://api.github.com/users/milseman/orgs","repos_url":"https://api.github.com/users/milseman/repos","events_url":"https://api.github.com/users/milseman/events{/privacy}","received_events_url":"https://api.github.com/users/milseman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-12T00:44:16Z","updated_at":"2016-10-12T00:47:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/5243","html_url":"https://github.com/apple/swift/pull/5243","diff_url":"https://github.com/apple/swift/pull/5243.diff","patch_url":"https://github.com/apple/swift/pull/5243.patch"},"body":"<!-- What's in this pull request? -->\r\n\r\n[3.0 compat] Don't diagnose @escaping var-arg closures.\r\n    \r\nVar-arg closures are already escaping, so we typically want to issue\r\nan error if @escaping is specified. To not do sure will confuse and\r\ngive a false impression on the un-annotated semantics and whether it\r\nis needed. But, 3.0 shipped with a bug where we didn't consistently\r\napply the no-escape-by-default rule here, and thus it was semantically\r\nmeaningful (and needed).\r\n    \r\nIn order to preserve source compatibility, albeit at the expense of\r\ndevelopers on versions 3.0.1 and later in the Swift 3 family, we\r\nsuppress the error if we see @escaping. Either way, this is a\r\nrelatively uncommon usage, so the confusion won't be too wide spread.\r\n\r\n[swift-version] Allow swift-version 4 and tests\r\n    \r\nThe recent @escaping on variadic argument closures back-compat fix is\r\nthe first Swift 3.0 compatibility behavior that we don't want to carry\r\nforwards indefinitely into the future. To address this, we\r\nversion-gate the diagnostic suppression.\r\n    \r\nMakes it an official compatibility check. Creates new test directory\r\nfor compatibility testing. Allow -swift-version 4 so that we can test\r\nit both ways.\r\n\r\nNote: The swift-3 branch PR was already merged at https://github.com/apple/swift/pull/5217\r\n\r\n\r\n<!-- If this pull request resolves any bugs in the Swift bug tracker, provide a link: -->\r\n\r\n<!--\r\nBefore merging this pull request, you must run the Swift continuous integration tests.\r\nFor information about triggering CI builds via @swift-ci, see:\r\nhttps://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md#swift-ci\r\n\r\nThank you for your contribution to Swift!\r\n-->"},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/253088329","html_url":"https://github.com/apple/swift/pull/5243#issuecomment-253088329","issue_url":"https://api.github.com/repos/apple/swift/issues/5243","id":253088329,"user":{"login":"milseman","id":235334,"avatar_url":"https://avatars.githubusercontent.com/u/235334?v=3","gravatar_id":"","url":"https://api.github.com/users/milseman","html_url":"https://github.com/milseman","followers_url":"https://api.github.com/users/milseman/followers","following_url":"https://api.github.com/users/milseman/following{/other_user}","gists_url":"https://api.github.com/users/milseman/gists{/gist_id}","starred_url":"https://api.github.com/users/milseman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/milseman/subscriptions","organizations_url":"https://api.github.com/users/milseman/orgs","repos_url":"https://api.github.com/users/milseman/repos","events_url":"https://api.github.com/users/milseman/events{/privacy}","received_events_url":"https://api.github.com/users/milseman/received_events","type":"User","site_admin":false},"created_at":"2016-10-12T00:47:20Z","updated_at":"2016-10-12T00:47:20Z","body":"@graydon or @DougGregor, or whoever care about how we roll out the version checking and testing, please review."}}
{"actor":{"display_login":"milseman"}}