Cargo fmt + clippy, with latest rust

This commit is contained in:
Pi Lanningham
2023-08-07 18:43:44 -04:00
committed by Kasey
parent 0d99afe5e2
commit f464eb3702
6 changed files with 161 additions and 85 deletions

View File

@@ -712,8 +712,12 @@ impl DefaultFunction {
Ok(value)
}
DefaultFunction::HeadList => {
let c @ Value::Con(inner) = &args[0] else {unreachable!()};
let Constant::ProtoList(_, list) = inner.as_ref() else {unreachable!()};
let c @ Value::Con(inner) = &args[0] else {
unreachable!()
};
let Constant::ProtoList(_, list) = inner.as_ref() else {
unreachable!()
};
if list.is_empty() {
Err(Error::EmptyList(c.clone()))
@@ -724,8 +728,12 @@ impl DefaultFunction {
}
}
DefaultFunction::TailList => {
let c @ Value::Con(inner) = &args[0] else {unreachable!()};
let Constant::ProtoList(r#type, list) = inner.as_ref() else {unreachable!()};
let c @ Value::Con(inner) = &args[0] else {
unreachable!()
};
let Constant::ProtoList(r#type, list) = inner.as_ref() else {
unreachable!()
};
if list.is_empty() {
Err(Error::EmptyList(c.clone()))
@@ -784,12 +792,9 @@ impl DefaultFunction {
let mut map = Vec::new();
for item in list {
let Constant::ProtoPair(
Type::Data,
Type::Data,
left,
right
) = item else {unreachable!()};
let Constant::ProtoPair(Type::Data, Type::Data, left, right) = item else {
unreachable!()
};
match (left.as_ref(), right.as_ref()) {
(Constant::Data(key), Constant::Data(value)) => {
@@ -838,7 +843,7 @@ impl DefaultFunction {
return Err(Error::DeserialisationError(
"UnConstrData".to_string(),
v.clone(),
))
));
};
let constant = Constant::ProtoPair(
@@ -876,7 +881,7 @@ impl DefaultFunction {
return Err(Error::DeserialisationError(
"UnMapData".to_string(),
v.clone(),
))
));
};
let constant = Constant::ProtoList(
@@ -909,7 +914,7 @@ impl DefaultFunction {
return Err(Error::DeserialisationError(
"UnListData".to_string(),
v.clone(),
))
));
};
let value = Value::list(
@@ -933,7 +938,7 @@ impl DefaultFunction {
return Err(Error::DeserialisationError(
"UnIData".to_string(),
v.clone(),
))
));
};
let value = Value::integer(from_pallas_bigint(b));
@@ -951,7 +956,7 @@ impl DefaultFunction {
return Err(Error::DeserialisationError(
"UnBData".to_string(),
v.clone(),
))
));
};
let value = Value::byte_string(b.to_vec());
@@ -964,18 +969,28 @@ impl DefaultFunction {
)),
},
DefaultFunction::EqualsData => {
let (Value::Con(inner1), Value::Con(inner2)) = (&args[0], &args[1]) else {unreachable!()};
let (Value::Con(inner1), Value::Con(inner2)) = (&args[0], &args[1]) else {
unreachable!()
};
let Constant::Data(d1) = inner1.as_ref() else {unreachable!()};
let Constant::Data(d2) = inner2.as_ref() else {unreachable!()};
let Constant::Data(d1) = inner1.as_ref() else {
unreachable!()
};
let Constant::Data(d2) = inner2.as_ref() else {
unreachable!()
};
let value = Value::bool(d1.eq(d2));
Ok(value)
}
DefaultFunction::SerialiseData => {
let Value::Con(inner) = &args[0] else {unreachable!()};
let Constant::Data(d) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = &args[0] else {
unreachable!()
};
let Constant::Data(d) = inner.as_ref() else {
unreachable!()
};
let serialized_data = plutus_data_to_bytes(d).unwrap();
@@ -984,10 +999,16 @@ impl DefaultFunction {
Ok(value)
}
DefaultFunction::MkPairData => {
let (Value::Con(inner1), Value::Con(inner2)) = (&args[0], &args[1]) else {unreachable!()};
let (Value::Con(inner1), Value::Con(inner2)) = (&args[0], &args[1]) else {
unreachable!()
};
let Constant::Data(d1) = inner1.as_ref() else {unreachable!()};
let Constant::Data(d2) = inner2.as_ref() else {unreachable!()};
let Constant::Data(d1) = inner1.as_ref() else {
unreachable!()
};
let Constant::Data(d2) = inner2.as_ref() else {
unreachable!()
};
let constant = Constant::ProtoPair(
Type::Data,

View File

@@ -66,56 +66,86 @@ impl Value {
}
pub(super) fn unwrap_integer(&self) -> &BigInt {
let Value::Con(inner) = self else {unreachable!()};
let Constant::Integer(integer) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::Integer(integer) = inner.as_ref() else {
unreachable!()
};
integer
}
pub(super) fn unwrap_byte_string(&self) -> &Vec<u8> {
let Value::Con(inner) = self else {unreachable!()};
let Constant::ByteString(byte_string) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::ByteString(byte_string) = inner.as_ref() else {
unreachable!()
};
byte_string
}
pub(super) fn unwrap_string(&self) -> &String {
let Value::Con(inner) = self else {unreachable!()};
let Constant::String(string) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::String(string) = inner.as_ref() else {
unreachable!()
};
string
}
pub(super) fn unwrap_bool(&self) -> &bool {
let Value::Con(inner) = self else {unreachable!()};
let Constant::Bool(condition) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::Bool(condition) = inner.as_ref() else {
unreachable!()
};
condition
}
pub(super) fn unwrap_pair(&self) -> (&Type, &Type, &Rc<Constant>, &Rc<Constant>) {
let Value::Con(inner) = self else {unreachable!()};
let Constant::ProtoPair(t1, t2, first, second) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::ProtoPair(t1, t2, first, second) = inner.as_ref() else {
unreachable!()
};
(t1, t2, first, second)
}
pub(super) fn unwrap_list(&self) -> (&Type, &Vec<Constant>) {
let Value::Con(inner) = self else {unreachable!()};
let Constant::ProtoList(t, list) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::ProtoList(t, list) = inner.as_ref() else {
unreachable!()
};
(t, list)
}
pub(super) fn unwrap_constant(&self) -> &Constant {
let Value::Con(item) = self else {unreachable!()};
let Value::Con(item) = self else {
unreachable!()
};
item.as_ref()
}
pub(super) fn unwrap_data_list(&self) -> &Vec<Constant> {
let Value::Con(inner) = self else {unreachable!()};
let Constant::ProtoList(Type::Data, list) = inner.as_ref() else {unreachable!()};
let Value::Con(inner) = self else {
unreachable!()
};
let Constant::ProtoList(Type::Data, list) = inner.as_ref() else {
unreachable!()
};
list
}