Feat/implement kt 25506 string format #5589
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add Multiplatform String.format Implementation
What's Changing
This PR adds a complete multiplatform implementation of
String.format()to the Kotlin common library. It enables consistent string formatting across all Kotlin Multiplatform targets (JS, Wasm, Native) while maintaining compatibility with JVM's existing implementation.What I'm Adding
New Features:
String.format()now works on JS, Wasm, Native, and JVM%s,%d,%f,%c, and%%%10s,%.2f,%8.2f,%.5spatternsnull→"null"conversionImplementation Details:
commonMainfor maximum code reusejava.lang.String.format)JVM Compatibility
Important: The JVM target continues to use the existing
java.lang.String.format()implementation via theactualdeclaration in the standard library. This ensures:The JVM implementation is completely unchanged - this PR only adds missing implementations for other platforms.
Resolving a 7-Year Wait
This PR finally addresses KT-25506 - a feature request that has been open since 2018
The Backstory:
Safety & Reliability:
Usage Example
Related Issues
String.format()