1
0
Fork 0
mirror of synced 2025-09-24 04:40:05 +00:00

fix clippy by adding type aliases

This commit is contained in:
schaeff 2021-05-27 17:46:40 +02:00
parent 7d48c6be12
commit af46283ef0
6 changed files with 20 additions and 14 deletions

View file

@ -62,7 +62,7 @@ impl<'ast, T: Field> ResultFolder<'ast, T> for BoundsChecker {
&mut self,
_: &E::Ty,
select: SelectExpression<'ast, T, E>,
) -> Result<ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner>, Self::Error> {
) -> Result<SelectOrExpression<'ast, T, E>, Self::Error> {
let array = self.fold_array_expression(*select.array)?;
let index = self.fold_uint_expression(*select.index)?;

View file

@ -1050,7 +1050,7 @@ impl<'ast, 'a, T: Field> ResultFolder<'ast, T> for Propagator<'ast, 'a, T> {
&mut self,
_: &E::Ty,
m: MemberExpression<'ast, T, E>,
) -> Result<ThisOrUncle<MemberExpression<'ast, T, E>, E::Inner>, Self::Error> {
) -> Result<MemberOrExpression<'ast, T, E>, Self::Error> {
let id = m.id;
let struc = self.fold_struct_expression(*m.struc)?;
@ -1065,8 +1065,7 @@ impl<'ast, 'a, T: Field> ResultFolder<'ast, T> for Propagator<'ast, 'a, T> {
.zip(v)
.find(|(member, _)| member.id == id)
.unwrap()
.1
.into(),
.1,
)
.into_inner(),
)),
@ -1083,7 +1082,7 @@ impl<'ast, 'a, T: Field> ResultFolder<'ast, T> for Propagator<'ast, 'a, T> {
&mut self,
_: &E::Ty,
e: SelectExpression<'ast, T, E>,
) -> Result<ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner>, Self::Error> {
) -> Result<SelectOrExpression<'ast, T, E>, Self::Error> {
let array = self.fold_array_expression(*e.array)?;
let index = self.fold_uint_expression(*e.index)?;

View file

@ -95,7 +95,7 @@ impl<'ast, T: Field> Folder<'ast, T> for VariableReadRemover<'ast, T> {
&mut self,
_: &E::Ty,
e: SelectExpression<'ast, T, E>,
) -> ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner> {
) -> SelectOrExpression<'ast, T, E> {
ThisOrUncle::Uncle(self.select(e))
}

View file

@ -195,7 +195,7 @@ pub trait Folder<'ast, T: Field>: Sized {
&mut self,
ty: &E::Ty,
e: MemberExpression<'ast, T, E>,
) -> ThisOrUncle<MemberExpression<'ast, T, E>, E::Inner> {
) -> MemberOrExpression<'ast, T, E> {
fold_member_expression(self, ty, e)
}
@ -205,7 +205,7 @@ pub trait Folder<'ast, T: Field>: Sized {
&mut self,
ty: &E::Ty,
e: SelectExpression<'ast, T, E>,
) -> ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner> {
) -> SelectOrExpression<'ast, T, E> {
fold_select_expression(self, ty, e)
}
@ -505,7 +505,7 @@ pub fn fold_member_expression<
f: &mut F,
_: &E::Ty,
e: MemberExpression<'ast, T, E>,
) -> ThisOrUncle<MemberExpression<'ast, T, E>, E::Inner> {
) -> MemberOrExpression<'ast, T, E> {
ThisOrUncle::This(MemberExpression::new(
f.fold_struct_expression(*e.struc),
e.id,
@ -521,7 +521,7 @@ pub fn fold_select_expression<
f: &mut F,
_: &E::Ty,
e: SelectExpression<'ast, T, E>,
) -> ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner> {
) -> SelectOrExpression<'ast, T, E> {
ThisOrUncle::This(SelectExpression::new(
f.fold_array_expression(*e.array),
f.fold_uint_expression(*e.index),

View file

@ -1676,6 +1676,8 @@ impl<'ast, T> Expr<'ast, T> for IntExpression<'ast, T> {
&self
}
}
// Enum type to enable returning e.g a member expression OR another expression
pub enum ThisOrUncle<S, U> {
This(S),
Uncle(U),
@ -1687,6 +1689,11 @@ impl<S, U> From<U> for ThisOrUncle<S, U> {
}
}
pub type SelectOrExpression<'ast, T, E> =
ThisOrUncle<SelectExpression<'ast, T, E>, <E as Expr<'ast, T>>::Inner>;
pub type MemberOrExpression<'ast, T, E> =
ThisOrUncle<MemberExpression<'ast, T, E>, <E as Expr<'ast, T>>::Inner>;
pub trait IfElse<'ast, T> {
fn if_else(condition: BooleanExpression<'ast, T>, consequence: Self, alternative: Self)
-> Self;

View file

@ -151,7 +151,7 @@ pub trait ResultFolder<'ast, T: Field>: Sized {
&mut self,
ty: &E::Ty,
e: MemberExpression<'ast, T, E>,
) -> Result<ThisOrUncle<MemberExpression<'ast, T, E>, E::Inner>, Self::Error> {
) -> Result<MemberOrExpression<'ast, T, E>, Self::Error> {
fold_member_expression(self, ty, e)
}
@ -161,7 +161,7 @@ pub trait ResultFolder<'ast, T: Field>: Sized {
&mut self,
ty: &E::Ty,
e: SelectExpression<'ast, T, E>,
) -> Result<ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner>, Self::Error> {
) -> Result<SelectOrExpression<'ast, T, E>, Self::Error> {
fold_select_expression(self, ty, e)
}
@ -589,7 +589,7 @@ pub fn fold_member_expression<
f: &mut F,
_: &E::Ty,
e: MemberExpression<'ast, T, E>,
) -> Result<ThisOrUncle<MemberExpression<'ast, T, E>, E::Inner>, F::Error> {
) -> Result<MemberOrExpression<'ast, T, E>, F::Error> {
Ok(ThisOrUncle::This(MemberExpression::new(
f.fold_struct_expression(*e.struc)?,
e.id,
@ -605,7 +605,7 @@ pub fn fold_select_expression<
f: &mut F,
_: &E::Ty,
e: SelectExpression<'ast, T, E>,
) -> Result<ThisOrUncle<SelectExpression<'ast, T, E>, E::Inner>, F::Error> {
) -> Result<SelectOrExpression<'ast, T, E>, F::Error> {
Ok(ThisOrUncle::This(SelectExpression::new(
f.fold_array_expression(*e.array)?,
f.fold_uint_expression(*e.index)?,