Search Issue Tracker
By Design
By Design in 1.8.X
Votes
0
Found in [Package]
1.8.7
Issue ID
BUR-2449
Regression
No
Mixing types in string interpolation causes BC1345
String interpolation works when using like types, but not when mixing.
{code:java}
[BurstCompile]
static public void AnyAmountOfIntegers()
{
Debug.Log($"{0}{0}{0}");
}
[BurstCompile]
static public void AnyAmountOfStrings()
{
Debug.Log($"{""}{""}{""}");
}
[BurstCompile]
static public void MixOneStringAndInteger()
{
// Burst error BC1345: Invalid argument type byte* with index 0. Only value types are supported.
Debug.Log($"{""}{0}");
}
[BurstCompile]
static public void MixOneIntegerAndString()
{
// Burst error BC1345: Invalid argument type byte* with index 1. Only value types are supported.
Debug.Log($"{0}{""}");
}
{code}
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Play Mode Scenario selection/highlight is too long and out of its bounds when the Play Mode Scenario window is opened after maximizing
- Duplicated groups and incorrect grouping in UI Builder when using UxmlElementAttribute: libraryPath
- Asset name is not shown in the Undo History window when a sprite is modified
- Moving a Tab to a floating window fails when floating windows are docked next to each other
- Crash on UNITY_FT_Render_Glyph_Internal when Generating Font Atlas in the Font Asset Creator Window
Resolution Note:
This is actually as-designed. The reason the multiple-empty-strings example works is because Roslyn collapses it down to a single empty string literal. Whereas for the integer+string, the string is routed via an {{object}} parameter in {{string.Format}}, and Burst doesn't support that.
https://sharplab.io/#v2:EYLgHgbALANALiAlgGwD4AEBMBGAsAKHQGYACLEgYRIG8CT6zT0oSBZACgEoa6G+B6fiQAiAewCmAZwB2AcjgkA7qIBOAaxKJpJAEIBXFZIXBxAYwCGeyeM0K4ACxvpsABk2SSK0XrjiAJprScKIk5toABqLAAFZmcOEkAA7mKuYAtuK+KgB0vHz0zgCc7AAkAETULgC+1GVlVWWcANx5JFWtrcRkLAByXDz4+QyCJADqqmoeWroGRiQmFlY2AEqiksgAntqmosjI5onWU3Yh5iQ70kZhCs4uuYNDZNjF5bX1bw3Nre34VUA
Resolution Note (1.8.X):
This is actually as-designed. The reason the multiple-empty-strings example works is because Roslyn collapses it down to a single empty string literal. Whereas for the integer+string, the string is routed via an {{object}} parameter in {{string.Format}}, and Burst doesn't support that.
https://sharplab.io/#v2:EYLgHgbALANALiAlgGwD4AEBMBGAsAKHQGYACLEgYRIG8CT6zT0oSBZACgEoa6G+B6fiQAiAewCmAZwB2AcjgkA7qIBOAaxKJpJAEIBXFZIXBxAYwCGeyeM0K4ACxvpsABk2SSK0XrjiAJprScKIk5toABqLAAFZmcOEkAA7mKuYAtuK+KgB0vHz0zgCc7AAkAETULgC+1GVlVWWcANx5JFWtrcRkLAByXDz4+QyCJADqqmoeWroGRiQmFlY2AEqiksgAntqmosjI5onWU3Yh5iQ70kZhCs4uuYNDZNjF5bX1bw3Nre34VUA