Skip to content

-Wtostring-interpolated warns on an if expression of type String #13107

@johnduffell

Description

@johnduffell

Reproduction steps

2.13.16
With scalacOptions including

    "-Wtostring-interpolated",

and optionally (to make it an error)

    "-Wconf:cat=w-flag-tostring-interpolated:e",

compile this code:

val shouldCaps = true
val greeting = s"Hello ${if (shouldCaps) "WORLD" else "world"}"
println(greeting)

see https://scastie.scala-lang.org/MQWIvMVXSrCwU9u9D8NTCA

Output

there is a warning/error raised on line 2:
"interpolation uses toString"

Expectation

compiles without warnings, as the type of the expression is a String

Additional info

Also fails on 3.7.1-RC1
Feature introduced in scala/scala#10776

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions