{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/15311","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/15311/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/15311/comments","events_url":"https://api.github.com/repos/apple/swift/issues/15311/events","html_url":"https://github.com/apple/swift/pull/15311","id":306099440,"number":15311,"title":"☣️[Sema] Transform initializers into coercions for conforming numeric literals","user":{"login":"xedin","id":21240,"avatar_url":"https://avatars1.githubusercontent.com/u/21240?v=4","gravatar_id":"","url":"https://api.github.com/users/xedin","html_url":"https://github.com/xedin","followers_url":"https://api.github.com/users/xedin/followers","following_url":"https://api.github.com/users/xedin/following{/other_user}","gists_url":"https://api.github.com/users/xedin/gists{/gist_id}","starred_url":"https://api.github.com/users/xedin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xedin/subscriptions","organizations_url":"https://api.github.com/users/xedin/orgs","repos_url":"https://api.github.com/users/xedin/repos","events_url":"https://api.github.com/users/xedin/events{/privacy}","received_events_url":"https://api.github.com/users/xedin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2018-03-16T22:53:32Z","updated_at":"2018-04-01T23:14:05Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/15311","html_url":"https://github.com/apple/swift/pull/15311","diff_url":"https://github.com/apple/swift/pull/15311.diff","patch_url":"https://github.com/apple/swift/pull/15311.patch"},"body":"To speed up type-checking for numeric literal types let's try to implicitly\r\nconvert expressions like `UInt32(42)` into `42 as UInt32` but only\r\nif requested type conforms to the correct literal protocol.\r\n\r\nThe desired outcome is that we can properly type-check expressions\r\nlike `UInt64(0xffff_ffff_ffff_ffff)` and speed up solving of more\r\ncomplex expressions by avoiding checking all of the initializer\r\noverloads since most of them are likely unrelated.\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-->\r\n"},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/377824177","html_url":"https://github.com/apple/swift/pull/15311#issuecomment-377824177","issue_url":"https://api.github.com/repos/apple/swift/issues/15311","id":377824177,"user":{"login":"xedin","id":21240,"avatar_url":"https://avatars1.githubusercontent.com/u/21240?v=4","gravatar_id":"","url":"https://api.github.com/users/xedin","html_url":"https://github.com/xedin","followers_url":"https://api.github.com/users/xedin/followers","following_url":"https://api.github.com/users/xedin/following{/other_user}","gists_url":"https://api.github.com/users/xedin/gists{/gist_id}","starred_url":"https://api.github.com/users/xedin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xedin/subscriptions","organizations_url":"https://api.github.com/users/xedin/orgs","repos_url":"https://api.github.com/users/xedin/repos","events_url":"https://api.github.com/users/xedin/events{/privacy}","received_events_url":"https://api.github.com/users/xedin/received_events","type":"User","site_admin":false},"created_at":"2018-04-01T23:14:05Z","updated_at":"2018-04-01T23:14:05Z","author_association":"MEMBER","body":"@lattner Yes, we've discussed it with @rudkx and @DougGregor and came to the conclusion that `preCheckExpression` is the best place for this transformation."}}
{"actor":{"display_login":"xedin"}}