single and critical had an issue where certain lambdas would register different GetHashCode() return values, despite being the same lambda. This is due to how delegates are compiled in C#. The trigger was a sufficiently complex delegate that forced the compiler to generate a new class to contain the delegate. Then, when the class was instantiated multiple times, the delegates would have different hash codes. I have provided an emergency fix by requiring ordered/critical/single to take an int id parameter which we trust the user to be unique. This specifies the ID of the construct. I will document this in the README.
single
andcritical
had an issue where certain lambdas would register differentGetHashCode()
return values, despite being the same lambda. This is due to how delegates are compiled in C#. The trigger was a sufficiently complex delegate that forced the compiler to generate a new class to contain the delegate. Then, when the class was instantiated multiple times, the delegates would have different hash codes. I have provided an emergency fix by requiringordered
/critical
/single
to take anint id
parameter which we trust the user to be unique. This specifies the ID of the construct. I will document this in the README.