{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/18590","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/18590/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/18590/comments","events_url":"https://api.github.com/repos/apple/swift/issues/18590/events","html_url":"https://github.com/apple/swift/pull/18590","id":349092126,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA3Mjg4Mzcy","number":18590,"title":"[DNM] String interpolation rework","user":{"login":"brentdax","id":931226,"node_id":"MDQ6VXNlcjkzMTIyNg==","avatar_url":"https://avatars0.githubusercontent.com/u/931226?v=4","gravatar_id":"","url":"https://api.github.com/users/brentdax","html_url":"https://github.com/brentdax","followers_url":"https://api.github.com/users/brentdax/followers","following_url":"https://api.github.com/users/brentdax/following{/other_user}","gists_url":"https://api.github.com/users/brentdax/gists{/gist_id}","starred_url":"https://api.github.com/users/brentdax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brentdax/subscriptions","organizations_url":"https://api.github.com/users/brentdax/orgs","repos_url":"https://api.github.com/users/brentdax/repos","events_url":"https://api.github.com/users/brentdax/events{/privacy}","received_events_url":"https://api.github.com/users/brentdax/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":83,"created_at":"2018-08-09T11:43:52Z","updated_at":"2018-10-16T21:07:21Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/18590","html_url":"https://github.com/apple/swift/pull/18590","diff_url":"https://github.com/apple/swift/pull/18590.diff","patch_url":"https://github.com/apple/swift/pull/18590.patch"},"body":"Implements [apple/swift-evolution#904](https://github.com/apple/swift-evolution/pull/904).\r\n\r\nThis is the implementation of the [string interpolation rework](https://forums.swift.org/t/draft-fix-string-interpolation-swift-5-edition/14786). It is now feature-complete, but there are still a few things on my to-do list:\r\n\r\n* ~~It's performing similarly to the current design overall, although individual benchmarks vary wildly—from 1.80x for StringInterpolationSmall to 0.59x for FloatingPointPrinting_Float_interpolated. (Some of the improvements in tests which have little to do with string interpolation are probably thanks to [new overloads of `String.init(describing:)`](https://github.com/apple/swift/blob/8f41627c4c497e38f04c81ed0758cde403bf19a7/stdlib/public/core/Mirror.swift#L624-L760) I added to preserve source compatibility.) We want it to be faster than the status quo. I haven't dug deeply into this yet, and I'd like a second opinion from the CI.~~\r\n\r\n* I'm wondering if it would be useful for [`DefaultStringInterpolation`](https://github.com/apple/swift/blob/8f41627c4c497e38f04c81ed0758cde403bf19a7/stdlib/public/core/StringInterpolation.swift#L59-L60) to become `moveonly` in the future, and if so, if that could be done without breaking ABI compatibility. @rjmccall, what do you think?\r\n\r\n* There are a couple of test failures I'm not sure what to do with:\r\n\r\n  * ~~Constraints/rdar42678836.swift was apparently added three days ago and has already had its message change twice. @slavapestov, @xedin, can we pin down what this test ought to do?~~\r\n\r\n  * IDE/complete_at_top_level.swift fails because we don't suggest a Void function in a string interpolation. I *think* that comes from [this line](https://github.com/apple/swift/blob/master/lib/IDE/CodeCompletion.cpp#L953), which looks like it's intended to prevent you from completing a Void function where a value is expected, but I'm just guessing at its purpose. Can anyone clear up my confusion and help me figure out what this should be doing? (@nkcsgexi wrote this, but it was years ago.)\r\n\r\n@swift-ci Please benchmark\r\n\r\ncc @milseman "},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/430401168","html_url":"https://github.com/apple/swift/pull/18590#issuecomment-430401168","issue_url":"https://api.github.com/repos/apple/swift/issues/18590","id":430401168,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDQwMTE2OA==","user":{"login":"xedin","id":21240,"node_id":"MDQ6VXNlcjIxMjQw","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-10-16T21:07:21Z","updated_at":"2018-10-16T21:07:21Z","author_association":"MEMBER","body":"@swift-ci please smoke test compiler performance"}}
{"actor":{"display_login":"xedin"}}