You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix warnings on non-exhaustive matches for rules #2248
The rule for #isStaticType (#tuple ( TUPLE_ARGS )) is missing. We should add some logic here that does an OR on isStaticType() for each argument in TUPLE_ARGS.
and 4. Both rules below are marked as simplification, so the llvm-backend issues Non-Exhaustive match on the operators <Gas, <=Gas for these cases (source here).
@anvacaru I believe the original rules that this module was replacing marked the rules as [simplification], and that I was getting slower results for performance if [simplification] was not added for this module. I concluded that it must be doing short circuit evaluation and avoiding evaluation LHS and RHS of the comparison if the attribute was added, but I don't have much confidence in that now. It is entirely possible that they ought not be marked [simplification].
I am not sure if the whole module should be marked as symbolic sorry, perhaps @ehildenb can offer more insight.
Activity
anvacaru commentedon Jan 10, 2024
The rule for
#lenOfHead( #tuple(_) )is missing. Maybe refactor all#lenOfHeadrules into a single rule like:The rule for
#isStaticType (#tuple ( TUPLE_ARGS ))is missing. We should add some logic here that does anORonisStaticType()for each argument inTUPLE_ARGS.simplification, so the llvm-backend issuesNon-Exhaustive matchon the operators<Gas,<=Gasfor these cases (source here).Why do they have to be marked as
simplification? Should the entireINFINITE-GASmodule be marked assymbolic?cc @ehildenb @dkcumming
dkcumming commentedon Jan 10, 2024
@anvacaru I believe the original rules that this module was replacing marked the rules as
[simplification], and that I was getting slower results for performance if[simplification]was not added for this module. I concluded that it must be doing short circuit evaluation and avoiding evaluation LHS and RHS of the comparison if the attribute was added, but I don't have much confidence in that now. It is entirely possible that they ought not be marked[simplification].I am not sure if the whole module should be marked as
symbolicsorry, perhaps @ehildenb can offer more insight.[-]Address warnings on non-exhaustive matches for rules[/-][+]Fix warnings on non-exhaustive matches for rules[/+]