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 }}
This repository has been archived by the owner on Dec 2, 2024. It is now read-only.
The function is admittedly completely undocumented, but from its type signature
mustSatisfyAnyOf :: forall i o. [TxConstraints i o] -> TxConstraints i o
and the name, I would expect that it's meant to be equivalent to any, meaning if any of the items in the argument list is satisfied, the result will be satisfied as well. In a bit of pseudo-notation,
satisfied (mustSatisfyAnyOf xs) == any satisfied xs
As a reminder, the TxConstraints type is basically a conjunction of a list of TxConstraint, so it acts as an all; its mempty implementation is an empty list and is always trivially satisfied. So we can expand this to
satisfied (mustSatisfyAnyOf xs) == any satisfied xs == any (all satisfied) xs
That's not what happens. The actual function implementation is
Summary
The function is admittedly completely undocumented, but from its type signature
and the name, I would expect that it's meant to be equivalent to
any
, meaning if any of the items in the argument list is satisfied, the result will be satisfied as well. In a bit of pseudo-notation,As a reminder, the
TxConstraints
type is basically a conjunction of a list ofTxConstraint
, so it acts as anall
; itsmempty
implementation is an empty list and is always trivially satisfied. So we can expand this toThat's not what happens. The actual function implementation is
The first thing the function does is to take a list of the conjunction lists flatten the list of
[[TxConstraint]]
, so we end up withSteps to reproduce
always fails.
Expected behavior
should be equal to
mempty
, i.e. it should be trivial to satisfy.System info (please complete the following information):
The text was updated successfully, but these errors were encountered: