Closed
Description
There are a few places in the runtime where it is nice to pass strings around to identify things, and many but not all the strings are known statically. Examples include failure messages, logging messages, task names, test names, condition and error messages.
Failure already does this using the FailureWithCause
trait, which could be refactored into a single function over this string type. std::test
does similar optimizations.