Currently, you are providing an isequal method, but not ==, for various types (e.g. Pattern). In Julia 0.3, you will also need to provide ==. See JuliaLang/julia#6833.
(In Julia 0.2, == called isequal by default, so providing isequal was enough. In Julia 0.3, however, these two functions are swapped: isequal calls == by default. So overriding isequal is not enough to make things like != or == work. In order to remain backward-compatible with Julia 0.2, you will need to provide both methods.)
Currently, you are providing an
isequalmethod, but not==, for various types (e.g.Pattern). In Julia 0.3, you will also need to provide==. See JuliaLang/julia#6833.(In Julia 0.2,
==calledisequalby default, so providingisequalwas enough. In Julia 0.3, however, these two functions are swapped:isequalcalls==by default. So overridingisequalis not enough to make things like!=or==work. In order to remain backward-compatible with Julia 0.2, you will need to provide both methods.)