But then I found this example where a @pure
function calls a generic function which includes a path to throw
but actually is impossible to throw
inside the context of the @pure
function: Rationale for the `@pure`ity of `Rational{T}(x)`. So maybe it’s fine to do this?
Base.@pure mysin_pure(x::Float64) = isfinite(x) ? sin(x) : NaN