summaryrefslogtreecommitdiff
path: root/src/library/mod.rs
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2022-03-17 10:50:51 +0100
committerMartin Haug <mhaug@live.de>2022-03-17 10:50:51 +0100
commit6f5b721fe56fe6e3735d03b07e3716fc39572639 (patch)
tree002ed75565e02baeb1ce1b9ec53f0a92491d17ab /src/library/mod.rs
parent4d617bcd67f9e42218da190dc9a0bf2f10d4b78d (diff)
CR: I'm gonna make him a refactor he can't refuse
Diffstat (limited to 'src/library/mod.rs')
-rw-r--r--src/library/mod.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/library/mod.rs b/src/library/mod.rs
index 88f003c2..505f1a1d 100644
--- a/src/library/mod.rs
+++ b/src/library/mod.rs
@@ -174,11 +174,15 @@ castable! {
castable! {
Spec<Linear>,
- Expected: "two-dimensional length array",
+ Expected: "array of exactly two linears",
Value::Array(array) => {
- let e = "point array must contain exactly two entries";
- let a = array.get(0).map_err(|_| e)?.clone().cast::<Linear>()?;
- let b = array.get(1).map_err(|_| e)?.clone().cast::<Linear>()?;
- Spec::new(a, b)
+ match array.as_slice() {
+ [a, b] => {
+ let a = a.clone().cast::<Linear>()?;
+ let b = b.clone().cast::<Linear>()?;
+ Spec::new(a, b)
+ },
+ _ => return Err("point array must contain exactly two entries".to_string()),
+ }
},
}