diff --git a/src/ShortStrings.jl b/src/ShortStrings.jl index 6666308..8eb1bb9 100644 --- a/src/ShortStrings.jl +++ b/src/ShortStrings.jl @@ -9,15 +9,17 @@ export @ss_str, @ss3_str, @ss7_str, @ss15_str, @ss31_str, @ss63_str, @ss127_str, include("base.jl") -using MurmurHash3: mmhash128_a, mmhash32 +if isdefined(Base, :memhash) + using MurmurHash3: mmhash128_a, mmhash32 -function Base.hash(x::ShortString, h::UInt) - h += Base.memhash_seed -@static if UInt === UInt64 - last(mmhash128_a(sizeof(x), bswap(x.size_content), h%UInt32)) + h -else - mmhash32(sizeof(x), bswap(x.size_content), h%UInt32) + h -end + function Base.hash(x::ShortString, h::UInt) + h += Base.memhash_seed + @static if UInt === UInt64 + last(mmhash128_a(sizeof(x), bswap(x.size_content), h%UInt32)) + h + else + mmhash32(sizeof(x), bswap(x.size_content), h%UInt32) + h + end + end end end # module diff --git a/src/hash.jl b/src/hash.jl deleted file mode 100644 index 7713864..0000000 --- a/src/hash.jl +++ /dev/null @@ -1,6 +0,0 @@ -using MurmurHash3: mmhash128_a - -function Base.hash(x::ShortString, h::UInt) - h += Base.memhash_seed - last(mmhash128_a(sizeof(x), bswap(x.size_content), h%UInt32)) + h -end