- Fixed two bugs with values passed in via
registry.resolve(fn, param=value)orregistry.resolve_multi(names, results={...})(#19):- The parallel executor could stall and return nothing at all if every node that was ready at the start of execution was a passed-in value - for example
Registry(b).resolve(b, a=1)whereawasb's only dependency raisedKeyError: binstead of returning the result ofb. - Passed-in values now take precedence over registered functions. Previously passing
results={"expensive": 10}for a registeredexpensive()function still executed the function and overwrote the passed-in value.
- The parallel executor could stall and return nothing at all if every node that was ready at the start of execution was a passed-in value - for example
This is a behavior change: registered functions no longer execute at all when a value for them is passed in.