Make conversions from NodePath
to String
explicit.
#107408
Merged
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.
Callable
andSignal
toString
, to avoid accidental conversions #107379, Remove implicit conversions from math types toString
, to avoid accidental conversions #107295, and Core: Remove implicit conversions fromIPAddress
toString
, to avoid accidental conversions #107406Same idea as above - we want to avoid accidentally converting to
String
, because it's expensive.Some questionable
String
conversions are exposed in this PR. The most egregious are repeated calls for the same conversion in loops, and others are usingNodePath
to verify that a string is path-like, and immediately converting back. If any of these are on hot paths, they should be fixed as a follow-up.After this PR (and #107406), there are just 2 implicit
String
operator conversions left:Variant
- probably can't fix this now, Variant has all the implicit conversions.StringName
- probably fine for now since it's usually fast (at least on repeated access).So that concludes the
String
journey for now - but there's tons more implicit conversions elsewhere too 🫣To be continued...