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.
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
FailureWithCausetrait, which could be refactored into a single function over this string type.std::testdoes similar optimizations.