{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/5520","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/5520/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/5520/comments","events_url":"https://api.github.com/repos/apple/swift/issues/5520/events","html_url":"https://github.com/apple/swift/pull/5520","id":186049682,"number":5520,"title":"[WIP] Witness matching","user":{"login":"DougGregor","id":989428,"avatar_url":"https://avatars.githubusercontent.com/u/989428?v=3","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":5,"created_at":"2016-10-29T00:49:33Z","updated_at":"2016-10-29T06:24:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/5520","html_url":"https://github.com/apple/swift/pull/5520","diff_url":"https://github.com/apple/swift/pull/5520.diff","patch_url":"https://github.com/apple/swift/pull/5520.patch"},"body":"<!-- What's in this pull request? -->\r\nWork-in-progress to make witness matching in Sema sane, particularly when working with generic requirements. This kills off a hack in the constraint solver and starts to record more information about witnesses in protocol conformances, so SILGen doesn't need to rederive the same information.\r\n\r\nThis is still very, very busted. The Sema part seems to be working properly (no failures in test/Generics or test/Constraints, where we have the interesting matching cases), but there are still 11 failures in SILGen. The current concern is that we're dropping information for \"default witnesses\", which is manifesting as some of the failures. Current failing test:\r\n\r\n```swift\r\nprotocol P2 {\r\n  associatedtype A\r\n  func f1(_ a: A)\r\n}\r\n\r\nextension P2 {\r\n  func f1(_ a: A) { }\r\n}\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/257074214","html_url":"https://github.com/apple/swift/pull/5520#issuecomment-257074214","issue_url":"https://api.github.com/repos/apple/swift/issues/5520","id":257074214,"user":{"login":"swift-ci","id":15467072,"avatar_url":"https://avatars.githubusercontent.com/u/15467072?v=3","gravatar_id":"","url":"https://api.github.com/users/swift-ci","html_url":"https://github.com/swift-ci","followers_url":"https://api.github.com/users/swift-ci/followers","following_url":"https://api.github.com/users/swift-ci/following{/other_user}","gists_url":"https://api.github.com/users/swift-ci/gists{/gist_id}","starred_url":"https://api.github.com/users/swift-ci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swift-ci/subscriptions","organizations_url":"https://api.github.com/users/swift-ci/orgs","repos_url":"https://api.github.com/users/swift-ci/repos","events_url":"https://api.github.com/users/swift-ci/events{/privacy}","received_events_url":"https://api.github.com/users/swift-ci/received_events","type":"User","site_admin":false},"created_at":"2016-10-29T06:24:25Z","updated_at":"2016-10-29T06:24:25Z","body":"**Build failed**\nJenkins build - [Swift Test OS X Platform](https://ci.swift.org/job/swift-PR-osx/4149/)\nGit Commit - 95cd5f106965a32c364609ecc210f9cb52f9291f\nTest requested by - @DougGregor\n"}}
{"actor":{"display_login":"swift-ci"}}