There's literally two sections explaining why it is the way it is.
> String interpolation is dangerous > Can we do better?
> String interpolation is dangerous > Can we do better?
For the 'injection' case, they could define an annotation which stops interpolation on a provided parameter, and provide a more verbose method to handle templated interpolation correctly.
A sample syntax by JetBrains is below. [0] In future, this could be leveraged to block/warn against dangerous interpolations
@Language("SQL") // This adds SQL highlighting, encouraging developers to use it
String query = "SELECT * FROM Person p WHERE p.last_name = '${name}'" // future warning/error
[0] https://www.jetbrains.com/help/idea/using-language-injection...