Suppose I have an immutable struct A containing immutable fields as well as a (mutable) vector of immutable objects (such as Int64 objects),
struct A
x::Int
y::Vector{Int}
end
Does Julia automatically define sensible hash and isequal functions for objects of my type A, taking into account the content (not the memory address) of the vector?
See the help for ?== and ?isequal and ?hash. For new types you need to implement equality checks, and hash. Base implements the fallback ==(a,b) = a===b so falls back to egal.