While we are using the erased-serde crate, which should allow us to do this, we don't actually have custom Serialize implementations for MetricTrait types anyway (edit: we do, but we're not using them); we use the value() method instead. We should fix this. In particular, this would be useful for NPVMetric, to make it clear to the user when we are using the fallback comparison because the denominator is zero.
While we are using the
erased-serdecrate, which should allow us to do this,we don't actually have custom(edit: we do, but we're not using them); we use theSerializeimplementations forMetricTraittypes anywayvalue()method instead. We should fix this. In particular, this would be useful forNPVMetric, to make it clear to the user when we are using the fallback comparison because the denominator is zero.