In some cases, it may be desirable for types implementing Valuable to record themselves as a pre-formatted human-readable text representation. Currently, this is only possible with the Value::String variant, which takes a &'a str.
For types that want to record themselves using a Display (or Debug) implementation, though, Value::String isn't really sufficient. Because it takes a borrowed string slice, those types would have to allocate ahead of time and store their own formatted representation, so that the borrowed string slice can be handed out in their Valuable impls. This is not ideal.
Therefore, we should probably add &dyn fmt::Display as a primitive Value variant.
In some cases, it may be desirable for types implementing
Valuableto record themselves as a pre-formatted human-readable text representation. Currently, this is only possible with theValue::Stringvariant, which takes a&'a str.For types that want to record themselves using a
Display(orDebug) implementation, though,Value::Stringisn't really sufficient. Because it takes a borrowed string slice, those types would have to allocate ahead of time and store their own formatted representation, so that the borrowed string slice can be handed out in theirValuableimpls. This is not ideal.Therefore, we should probably add
&dyn fmt::Displayas a primitiveValuevariant.