This commit is contained in:
Ayaz Hafiz 2023-01-12 10:54:53 -06:00 committed by Folkert
parent df90baa0fc
commit ab796d93ff
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C

View file

@ -3827,14 +3827,18 @@ fn is_generalizable_expr(mut expr: &Expr) -> bool {
Closure(_) => return true,
Accessor(_) => {
// Accessor functions `.field` are equivalent to closures `\r -> r.field`, no need to weaken them.
return true
},
return true;
}
OpaqueWrapFunction(_) => {
// Opaque wrapper functions `@Q` are equivalent to closures `\x -> @Q x`, no need to weaken them.
return true
return true;
}
OpaqueRef { argument, .. } => expr = &argument.1.value,
Str(_) | List { .. } | SingleQuote(_, _, _, _) | When { .. } | If { .. }
Str(_)
| List { .. }
| SingleQuote(_, _, _, _)
| When { .. }
| If { .. }
| LetRec(_, _, _)
| LetNonRec(_, _)
| Call(_, _, _)
@ -3849,16 +3853,11 @@ fn is_generalizable_expr(mut expr: &Expr) -> bool {
| ExpectFx { .. }
| Dbg { .. }
| TypedHole(_)
| RuntimeError(_)
=> {
return false
}
| RuntimeError(_) => return false,
// TODO(weakening)
Var(_, _)
| AbilityMember(_, _, _)
| Tag { .. }
| ZeroArgumentTag { .. }
=> return true,
Var(_, _) | AbilityMember(_, _, _) | Tag { .. } | ZeroArgumentTag { .. } => {
return true
}
}
}
}