Skip to content

Commit 567c4bc

Browse files
committed
Improve haskey for VarInfo
1 parent 7fcc7df commit 567c4bc

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/varinfo.jl

+5-1
Original file line numberDiff line numberDiff line change
@@ -1046,11 +1046,15 @@ function Base.keys(vi::TypedVarInfo, spl::AbstractSampler)
10461046
return mapreduce(values, vcat, _getvns(vi, spl))
10471047
end
10481048

1049-
function Base.haskey(vi::VarInfo, vn::VarName) = _haskey(vi.metadata, vn)
1049+
Base.haskey(vi::VarInfo, vn::VarName) = _haskey(vi.metadata, vn)
1050+
# _haskey is only needed to avoid type piracy of haskey(::NamedTuple, ::VarName). For
1051+
# everything other than NamedTuple it's the same has haskey.
10501052
function _haskey(metadata::NamedTuple, vn::VarName{sym}) where {sym}
10511053
sym in keys(metadata) || return false
10521054
return haskey(metadata[sym], vn)
10531055
end
1056+
_haskey(any, vn) = haskey(any, vn)
1057+
Base.haskey(md::Metadata, vn::VarName) = haskey(md.vns, vn)
10541058

10551059
"""
10561060
setgid!(vi::VarInfo, gid::Selector, vn::VarName)

0 commit comments

Comments
 (0)