Addition of a new `unreachable` macro


See bugreport by kmc here:

Should there be one macro with different meaning in debug and release, or two seperate ones? What is your opinion?


Regardless of what you call (or if you even have) the debug one, I’d call the optimizing one something like optimize_unreachable!() to make it very clear that this is an optimization and not a safety check.


That’s not a bad name at all, thanks! There needs to be a clear distinction, I agree.