{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/13101","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/13101/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/13101/comments","events_url":"https://api.github.com/repos/apple/swift/issues/13101/events","html_url":"https://github.com/apple/swift/pull/13101","id":277237405,"number":13101,"title":"SIL: Correct handling of bridging casts with address-only types.","user":{"login":"jckarter","id":147281,"avatar_url":"https://avatars0.githubusercontent.com/u/147281?v=4","gravatar_id":"","url":"https://api.github.com/users/jckarter","html_url":"https://github.com/jckarter","followers_url":"https://api.github.com/users/jckarter/followers","following_url":"https://api.github.com/users/jckarter/following{/other_user}","gists_url":"https://api.github.com/users/jckarter/gists{/gist_id}","starred_url":"https://api.github.com/users/jckarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jckarter/subscriptions","organizations_url":"https://api.github.com/users/jckarter/orgs","repos_url":"https://api.github.com/users/jckarter/repos","events_url":"https://api.github.com/users/jckarter/events{/privacy}","received_events_url":"https://api.github.com/users/jckarter/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-11-28T02:31:27Z","updated_at":"2017-11-28T08:26:11Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/13101","html_url":"https://github.com/apple/swift/pull/13101","diff_url":"https://github.com/apple/swift/pull/13101.diff","patch_url":"https://github.com/apple/swift/pull/13101.patch"},"body":"We would leak AnyHashable or other bridged address-only value types when turning a take-always cast into a bridging call, since the bridging method takes the value as guaranteed and we didn't arrange to destroy the value after the bridging happened. The code had unnecessarily different paths for indirect and direct arguments, and furthermore, has an untestable path for when the self argument of the bridging method is taken at +1 (when it's currently only ever +0). Join up the direct and indirect logic, and move the handling of differences down to where we introduce retain/releases so that we generate in-memory operations when appropriate. Fixes SR-6465 | rdar://problem/35678523."},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/347448559","html_url":"https://github.com/apple/swift/pull/13101#issuecomment-347448559","issue_url":"https://api.github.com/repos/apple/swift/issues/13101","id":347448559,"user":{"login":"rjmccall","id":793869,"avatar_url":"https://avatars1.githubusercontent.com/u/793869?v=4","gravatar_id":"","url":"https://api.github.com/users/rjmccall","html_url":"https://github.com/rjmccall","followers_url":"https://api.github.com/users/rjmccall/followers","following_url":"https://api.github.com/users/rjmccall/following{/other_user}","gists_url":"https://api.github.com/users/rjmccall/gists{/gist_id}","starred_url":"https://api.github.com/users/rjmccall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rjmccall/subscriptions","organizations_url":"https://api.github.com/users/rjmccall/orgs","repos_url":"https://api.github.com/users/rjmccall/repos","events_url":"https://api.github.com/users/rjmccall/events{/privacy}","received_events_url":"https://api.github.com/users/rjmccall/received_events","type":"User","site_admin":false},"created_at":"2017-11-28T08:26:11Z","updated_at":"2017-11-28T08:26:11Z","author_association":"MEMBER","body":"I just disabled ownership checking for the test in question, since IIRC ownership checking in the 4.1 branch is not a complete feature."}}
{"actor":{"display_login":"rjmccall"}}