You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When invoking a function with arguments of the wrong type, the Julia runtime helpfully lists the methods and marks for each one which argument(s) were !Matched. This makes it easy to figure out what's wrong.
In contrast, when JET complains "no method was found", the error message is much less comprehensible. Instead of showing the call using the usual syntax, it wraps it with a kwcall. More importantly, it gives one no hint as to which of the arguments is causing the problem.
As a random example, JET produces this pretty opaque message:
no matching method found kwcall(::@NamedTuple{prefix::String}, ::typeof(Daf.Groups.groups), ::Daf.Formats.DafWriter, ::String, ::Vector{UInt32}): sphere_names = Core.kwcall(NamedTuple{(:prefix,)}(tuple("S")::Tuple{String})::@NamedTuple{prefix::String}, Metacells.Spheres.groups, daf::Daf.Formats.DafWriter, "metacell", spheres_of_metacells)
Instead of something more readable like this:
no matching method found for ::Daf.Groups.groups(daf::Daf.Formats.DafWriter, "metacell"::String, spheres_of_metacells::Vector{UInt32}; prefix="S"::String)
mismatched method: ::Daf.Groups.groups(daf::DafReader, axis::String, !Matched(entries::Vector{Vector{UInt32}}); prefix::String)::Vector{String}
mismatched method: ... (if there are multiple methods)
The text was updated successfully, but these errors were encountered:
When invoking a function with arguments of the wrong type, the Julia runtime helpfully lists the methods and marks for each one which argument(s) were
!Matched
. This makes it easy to figure out what's wrong.In contrast, when JET complains "no method was found", the error message is much less comprehensible. Instead of showing the call using the usual syntax, it wraps it with a
kwcall
. More importantly, it gives one no hint as to which of the arguments is causing the problem.As a random example, JET produces this pretty opaque message:
Instead of something more readable like this:
The text was updated successfully, but these errors were encountered: