diff --git a/implementations/rust/preserves/src/value/repr.rs b/implementations/rust/preserves/src/value/repr.rs index 63c8335..a92d989 100644 --- a/implementations/rust/preserves/src/value/repr.rs +++ b/implementations/rust/preserves/src/value/repr.rs @@ -257,10 +257,13 @@ impl PartialOrd for Double { impl Eq for Double {} impl, D: Embeddable> From for Value { fn from(v: bool) -> Self { Value::Boolean(v) } } +impl, D: Embeddable> From<&bool> for Value { fn from(v: &bool) -> Self { Value::Boolean(*v) } } impl, D: Embeddable> From for Value { fn from(v: f32) -> Self { Value::Float(Float::from(v)) } } +impl, D: Embeddable> From<&f32> for Value { fn from(v: &f32) -> Self { Value::Float(Float::from(*v)) } } impl, D: Embeddable> From<&Float> for Value { fn from(v: &Float) -> Self { Value::Float(v.clone()) } } impl, D: Embeddable> From for Value { fn from(v: f64) -> Self { Value::Double(Double::from(v)) } } +impl, D: Embeddable> From<&f64> for Value { fn from(v: &f64) -> Self { Value::Double(Double::from(*v)) } } impl, D: Embeddable> From<&Double> for Value { fn from(v: &Double) -> Self { Value::Double(v.clone()) } } impl, D: Embeddable> From for Value { fn from(v: u8) -> Self { Value::from(i128::from(v)) } }