66# VarInfo metadata #
77# ###################
88
9+ abstract type DynamicPPLAny end
10+ Base. convert (:: Type{DynamicPPLAny} , x) = x
11+ Base. zero (:: Type{DynamicPPLAny} ) = zero (LogProbType)
12+
913"""
1014The `Metadata` struct stores some metadata about the parameters of the model. This helps
1115query certain information about a variable, such as its distribution, which samplers
@@ -37,7 +41,7 @@ struct Metadata{
3741 TIdcs<: Dict{<:VarName,Int} ,
3842 TDists<: AbstractVector{<:Distribution} ,
3943 TVN<: AbstractVector{<:VarName} ,
40- TVal<: AbstractVector{<:Any } ,
44+ TVal<: AbstractVector{<:DynamicPPLAny } ,
4145}
4246 # Mapping from the `VarName` to its integer index in `vns`, `ranges` and `dists`
4347 idcs:: TIdcs # Dict{<:VarName,Int}
@@ -51,7 +55,7 @@ struct Metadata{
5155
5256 # Vector of values of all the univariate, multivariate and matrix variables
5357 # The value(s) of `vn` is/are `vals[ranges[idcs[vn]]]`
54- vals:: TVal # AbstractVector{<:Any }
58+ vals:: TVal # AbstractVector{<:DynamicPPLAny }
5559
5660 # Vector of distributions correpsonding to `vns`
5761 dists:: TDists # AbstractVector{<:Distribution}
@@ -409,7 +413,7 @@ unflatten_metadata(vnv::VarNamedVector, x::AbstractVector) = unflatten(vnv, x)
409413Construct an empty type unstable instance of `Metadata`.
410414"""
411415function Metadata ()
412- vals = Vector {Any } ()
416+ vals = Vector {DynamicPPLAny } ()
413417 flags = Dict {String,BitVector} ()
414418 flags[" del" ] = BitVector ()
415419 flags[" trans" ] = BitVector ()
@@ -576,8 +580,8 @@ function merge_metadata(metadata_left::Metadata, metadata_right::Metadata)
576580 T_right = eltype (metadata_right. vals)
577581 T = promote_type (T_left, T_right)
578582 # TODO : Is this necessary?
579- if ! (T <: Any )
580- T = Any
583+ if ! (T <: DynamicPPLAny )
584+ T = DynamicPPLAny
581585 end
582586
583587 # Determine `eltype` of `dists`.
@@ -766,8 +770,8 @@ getindex_internal(vi::VarInfo, ::Colon) = getindex_internal(vi.metadata, Colon()
766770function getindex_internal (vi:: NTVarInfo , :: Colon )
767771 return reduce (vcat, map (Base. Fix2 (getindex_internal, Colon ()), vi. metadata))
768772end
769- function getindex_internal (vi :: VarInfo{NamedTuple{(),Tuple{}}} , :: Colon )
770- return Any []
773+ function getindex_internal (:: VarInfo{NamedTuple{(),Tuple{}}} , :: Colon )
774+ return DynamicPPLAny []
771775end
772776function getindex_internal (md:: Metadata , :: Colon )
773777 return mapreduce (
0 commit comments