jw3126 / ArgCheck.jl

Package for checking function arguments
Other
101 stars 6 forks source link

!function(arg) does not show the value of arg #45

Open dpinol opened 6 months ago

dpinol commented 6 months ago

This

function f(a)
           @check !startswith(a,"o")
end
f("o")

causes this error

ERROR: CheckError: !(startswith(a, "o")) must hold. Got
startswith(a, "o") => true

It would be nice if it could display the contents of a

jw3126 commented 6 months ago

Agreed this would be nice. If you want to take a stab at implementing it, that would be cool.

jw3126 commented 6 months ago

As a workaround, one can also add some parenthesis:

julia> using ArgCheck

julia> x = nothing;

julia> @argcheck (!isnothing)(x)
ERROR: ArgumentError: (!isnothing)(x) must hold. Got
x => nothing
Stacktrace:
 [1] throw_check_error(info::Any)
   @ ArgCheck ~/.julia/packages/ArgCheck/CA5vv/src/checks.jl:280
 [2] top-level scope
   @ REPL[6]:1