Does this do it? ptype{T}(::Type{Ptr{T}}) = T btype{T}(b::Type{B{T}}) = T btype(ptype(z))
(One way or another, that is one torturous type nest!) --Tim On Monday, February 10, 2014 11:26:33 PM Jameson Nash wrote: > I can't figure this out, so I'm hoping someone will be able to help > suggest a better way to parametrize this code, or solve my dilemma. > I've made a somewhat complicate type hierarchy, and now I need to > extract some information from it. The problem is, given z (or an > instance thereof), I can't seem to extract S: > > > julia> abstract A{S} > > julia> type B{T} <: A{S} end > > julia> typealias C{T<:A} Ptr{T} > Ptr{T<:A{T}} > > julia> z = Ptr{B{Int}} > Ptr{B{Int64}} > > julia> # how to go from z -> Int here