atomic*, as it is currently defined, does its assertion outside of the returned macro body. This causes it to throw an error whenever max-cas-attempts is a symbol. This commit simply moves the assertion inside the macro body, so that max-cas-attempts is given a chance to be evaluated before it is checked.
Not being able to use a symbol in this macro's been a pain point for us, so we'd love to see this fix get in. Let me know if you'd like me to structure the macro in a different way.
atomic*, as it is currently defined, does its assertion outside of the returned macro body. This causes it to throw an error whenever max-cas-attempts is a symbol. This commit simply moves the assertion inside the macro body, so that max-cas-attempts is given a chance to be evaluated before it is checked.
Not being able to use a symbol in this macro's been a pain point for us, so we'd love to see this fix get in. Let me know if you'd like me to structure the macro in a different way.