{"action":"created","issue":{"url":"https://api.github.com/repos/scala/scala/issues/4316","labels_url":"https://api.github.com/repos/scala/scala/issues/4316/labels{/name}","comments_url":"https://api.github.com/repos/scala/scala/issues/4316/comments","events_url":"https://api.github.com/repos/scala/scala/issues/4316/events","html_url":"https://github.com/scala/scala/pull/4316","id":57262339,"number":4316,"title":"SI-8650 F-interpolator inlines literals","user":{"login":"som-snytt","id":369425,"avatar_url":"https://avatars.githubusercontent.com/u/369425?v=3","gravatar_id":"","url":"https://api.github.com/users/som-snytt","html_url":"https://github.com/som-snytt","followers_url":"https://api.github.com/users/som-snytt/followers","following_url":"https://api.github.com/users/som-snytt/following{/other_user}","gists_url":"https://api.github.com/users/som-snytt/gists{/gist_id}","starred_url":"https://api.github.com/users/som-snytt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/som-snytt/subscriptions","organizations_url":"https://api.github.com/users/som-snytt/orgs","repos_url":"https://api.github.com/users/som-snytt/repos","events_url":"https://api.github.com/users/som-snytt/events{/privacy}","received_events_url":"https://api.github.com/users/som-snytt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/scala/scala/milestones/48","html_url":"https://github.com/scala/scala/milestones/2.11.7","labels_url":"https://api.github.com/repos/scala/scala/milestones/48/labels","id":985497,"number":48,"title":"2.11.7","description":"Merge to 2.11.x.\r\n","creator":{"login":"adriaanm","id":91083,"avatar_url":"https://avatars.githubusercontent.com/u/91083?v=3","gravatar_id":"","url":"https://api.github.com/users/adriaanm","html_url":"https://github.com/adriaanm","followers_url":"https://api.github.com/users/adriaanm/followers","following_url":"https://api.github.com/users/adriaanm/following{/other_user}","gists_url":"https://api.github.com/users/adriaanm/gists{/gist_id}","starred_url":"https://api.github.com/users/adriaanm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adriaanm/subscriptions","organizations_url":"https://api.github.com/users/adriaanm/orgs","repos_url":"https://api.github.com/users/adriaanm/repos","events_url":"https://api.github.com/users/adriaanm/events{/privacy}","received_events_url":"https://api.github.com/users/adriaanm/received_events","type":"User","site_admin":false},"open_issues":20,"closed_issues":22,"state":"open","created_at":"2015-02-19T00:12:20Z","updated_at":"2015-03-24T04:16:52Z","due_on":"2015-06-01T07:00:00Z","closed_at":null},"comments":3,"created_at":"2015-02-11T00:55:21Z","updated_at":"2015-03-24T05:01:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scala/scala/pulls/4316","html_url":"https://github.com/scala/scala/pull/4316","diff_url":"https://github.com/scala/scala/pull/4316.diff","patch_url":"https://github.com/scala/scala/pull/4316.patch"},"body":"FormatInterpolator emits a call to `String.format(s, args...)` and inlines\r\nconstant expressions in the string.\r\n\r\nIndexed args are verified for correctness.\r\n\r\n```\r\nscala> final val pi = 3.14\r\npi: Double(3.14) = 3.14\r\n\r\nscala> f\"$pi%.1f %<s %1$$e\"                    // just a string\r\nres0: String = 3.1 3.14 3.140000e+00\r\n\r\nscala> import System.{ currentTimeMillis => now }\r\nimport System.{currentTimeMillis=>now}\r\n\r\nscala> f\"$now%d\"\r\nres1: String = 1423615388758\r\n\r\nscala> f\"$now%tdth day of %<th\"\r\nres2: String = 10th day of Feb\r\n\r\nscala> f\"Today is the %1$$tdth day of %<th, epoch time $now%tQ\"\r\nres3: String = Today is the 10th day of Feb, epoch time 1423616802039\r\n\r\nscala> f\"${null}%#s\"\r\n<console>:8: error: Requires an instance of java.util.Formattable\r\n              f\"${null}%#s\"\r\n                         ^\r\n\r\nscala> f\"${42000}%,,d\"\r\n<console>:8: error: Duplicate flag ','\r\n              f\"${42000}%,,d\"\r\n                          ^\r\n\r\nscala> f\"${3.14}%f %<d\"\r\n<console>:8: error: Specifier '%<d' not compatible with indexed arg\r\n              f\"${3.14}%f %<d\"\r\n              ^\r\n```\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/scala/scala/issues/comments/85338734","html_url":"https://github.com/scala/scala/pull/4316#issuecomment-85338734","issue_url":"https://api.github.com/repos/scala/scala/issues/4316","id":85338734,"user":{"login":"retronym","id":65551,"avatar_url":"https://avatars.githubusercontent.com/u/65551?v=3","gravatar_id":"","url":"https://api.github.com/users/retronym","html_url":"https://github.com/retronym","followers_url":"https://api.github.com/users/retronym/followers","following_url":"https://api.github.com/users/retronym/following{/other_user}","gists_url":"https://api.github.com/users/retronym/gists{/gist_id}","starred_url":"https://api.github.com/users/retronym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retronym/subscriptions","organizations_url":"https://api.github.com/users/retronym/orgs","repos_url":"https://api.github.com/users/retronym/repos","events_url":"https://api.github.com/users/retronym/events{/privacy}","received_events_url":"https://api.github.com/users/retronym/received_events","type":"User","site_admin":false},"created_at":"2015-03-24T05:01:25Z","updated_at":"2015-03-24T05:01:25Z","body":"[Hmmmm.](https://scala-ci.typesafe.com/job/scala-2.11.x-validate-test/435/console)\r\n\r\n```\r\nquick.comp:\r\n    [mkdir] Created dir: /home/jenkins/workspace/scala-2.11.x-validate-test@2/build/quick/classes/compiler\r\n[quick.compiler] Compiling 316 files to /home/jenkins/workspace/scala-2.11.x-validate-test@2/build/quick/classes/compiler\r\n[quick.compiler] /home/jenkins/workspace/scala-2.11.x-validate-test@2/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala:868: warning: match may not be exhaustive.\r\n[quick.compiler] It would fail on the following input: List(_)\r\n[quick.compiler]         seenTypes(i) match {\r\n[quick.compiler]                  ^\r\n[quick.compiler] error: symbol value x2 does not exist in scala.tools.nsc.typechecker.Implicits$ImplicitSearch.isImpossibleSubType\r\n[quick.compiler] error: scala.reflect.internal.FatalError: symbol value x2 does not exist in scala.tools.nsc.typechecker.Implicits$ImplicitSearch.isImpossibleSubType\r\n[quick.compiler] \tat scala.reflect.internal.Reporting$class.abort(Reporting.scala:59)\r\n[quick.compiler] \tat scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:17)\r\n[quick.compiler] \tat scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadIdent$1(GenICode.scala:885)\r\n```\r\n\r\n/rebuild"}}