diff --git a/stdlib/LinearAlgebra/src/lapack.jl b/stdlib/LinearAlgebra/src/lapack.jl index b2ddaa451b011..c21b6ef92c4e5 100644 --- a/stdlib/LinearAlgebra/src/lapack.jl +++ b/stdlib/LinearAlgebra/src/lapack.jl @@ -61,9 +61,13 @@ macro chkvalidparam(position::Int, param, validvalues) :(chkvalidparam($position, $(string(param)), $(esc(param)), $validvalues)) end function chkvalidparam(position::Int, var::String, val, validvals) + # mimic `repr` for chars without explicitly calling it + # This is because `repr` introduces dynamic dispatch + _repr(c::AbstractChar) = "'$c'" + _repr(c) = c if val ∉ validvals throw(ArgumentError( - lazy"argument #$position: $var must be one of $validvals, but $(repr(val)) was passed")) + lazy"argument #$position: $var must be one of $validvals, but $(_repr(val)) was passed")) end return val end