A one line assert which PASSES and shouldn't: assert 100000000000000016 == (({ BigDecimal it -> it})(100000000000000010))
More detail (all asserts pass): def val = 100000000000000010 assert val.class == Long def closure = { BigDecimal it -> it} def bdVal = closure(val) assert bdVal.class == BigDecimal assert bdVal == 100000000000000016 def bdCastVal = (BigDecimal) val assert bdCastVal.class == BigDecimal assert bdCastVal == 100000000000000010 So, converting to BigDecimal with a cast or with an `as` seems to work. But having Groovy do it automatically for a function or closure parameter fails. Am I missing something? Is this a known issue? Thanks, Sean