Hah, just got an exception from Unity Bursted code that literally says "System.IndexOutOfRangeException: Index {0} is out of range of '{1}' Length". Unity, you need more $ somewhere in there :P

(likely already fixed, I'm on 2020.3.38 which is not the latest)

@aras You and me both!
@tjheuvel “track this down with burst disabled” is harder when it only happens with burst enabled lol :)
@aras @tjheuvel while Burst doesn't do string interpolation in exception messages _today_, for sure that's something we want to implement, when we get some time :)

@timjones @aras But then why does it give me these messages today?

As a user i'm very confused.

@tjheuvel @aras I don't know why the actual exception happens. I'm only talking about why you see the un-interpolated exception message - that's because Burst doesn't support string interpolation in exception messages, so it just uses the original format string.

Were you asking why the exception is raised in the first place?

@timjones @aras No, i was asking why i was seeing such a confusing error message.

@timjones @aras I still find it a weird reasoning.

Surely if Burst doesnt support interpolated strings, exceptions in a burst context shouldnt use those.

@tjheuvel @aras but what should it use instead? :) Burst can only compile what's there in the code, and what's there in the code is a format string, and a few arguments to interpolate into that format string. We don't (yet) support interpolating the arguments, so as a fallback we use the format string as-is.

@timjones @aras I'm an end user, i think simple.

NativeParallelHashMap when running in burst shouldnt use a formatted string, instead have a static error message.