From 638ec83186453d492472d0431bdb66e7495e8812 Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Thu, 29 Dec 2016 11:46:39 -0500 Subject: [PATCH] fix use of `.primary` field for jb/subtype --- src/Compat.jl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Compat.jl b/src/Compat.jl index d57af7884..c570bd6c5 100644 --- a/src/Compat.jl +++ b/src/Compat.jl @@ -1158,12 +1158,21 @@ if !isdefined(Base, :istextmime) istextmime(m::@compat(Union{MIME,AbstractString})) = istext(m) end +function primarytype(t::ANY) + tn = t.name + if isdefined(tn, :primary) + return tn.primary + else + return tn.wrapper + end +end + export @functorize macro functorize(f) if VERSION >= v"0.5.0-dev+3701" f === :scalarmax ? :(Base.scalarmax) : f === :scalarmin ? :(Base.scalarmin) : - f === :centralizedabs2fun ? :(typeof(Base.centralizedabs2fun(0)).name.primary) : + f === :centralizedabs2fun ? :(primarytype(typeof(Base.centralizedabs2fun(0)))) : f else f = f === :identity ? :(Base.IdFun()) :