@@ -287,7 +287,7 @@ function typed_varinfo(vi::UntypedVarInfo)
287287 )
288288 end
289289 nt = NamedTuple {syms_tuple} (Tuple (new_metas))
290- return VarInfo (nt, deepcopy ( vi. accs) )
290+ return VarInfo (nt, vi. accs)
291291end
292292function typed_varinfo (vi:: NTVarInfo )
293293 # This function preserves the behaviour of typed_varinfo(vi) where vi is
@@ -348,7 +348,7 @@ single `VarNamedVector` as its metadata field.
348348"""
349349function untyped_vector_varinfo (vi:: UntypedVarInfo )
350350 md = metadata_to_varnamedvector (vi. metadata)
351- return VarInfo (md, deepcopy ( vi. accs) )
351+ return VarInfo (md, vi. accs)
352352end
353353function untyped_vector_varinfo (
354354 rng:: Random.AbstractRNG ,
@@ -391,12 +391,12 @@ NamedTuple of `VarNamedVector`s as its metadata field.
391391"""
392392function typed_vector_varinfo (vi:: NTVarInfo )
393393 md = map (metadata_to_varnamedvector, vi. metadata)
394- return VarInfo (md, deepcopy ( vi. accs) )
394+ return VarInfo (md, vi. accs)
395395end
396396function typed_vector_varinfo (vi:: UntypedVectorVarInfo )
397397 new_metas = group_by_symbol (vi. metadata)
398398 nt = NamedTuple (new_metas)
399- return VarInfo (nt, deepcopy ( vi. accs) )
399+ return VarInfo (nt, vi. accs)
400400end
401401function typed_vector_varinfo (
402402 rng:: Random.AbstractRNG ,
@@ -447,10 +447,7 @@ function unflatten(vi::VarInfo, x::AbstractVector)
447447 # The below line is finicky for type stability. For instance, assigning the eltype to
448448 # convert to into an intermediate variable makes this unstable (constant propagation)
449449 # fails. Take care when editing.
450- accs = map (
451- acc -> convert_eltype (float_type_with_fallback (eltype (x)), acc),
452- deepcopy (getaccs (vi)),
453- )
450+ accs = map (acc -> convert_eltype (float_type_with_fallback (eltype (x)), acc), vi. accs)
454451 return VarInfo (md, accs)
455452end
456453
533530
534531function subset (varinfo:: VarInfo , vns:: AbstractVector{<:VarName} )
535532 metadata = subset (varinfo. metadata, vns)
536- return VarInfo (metadata, deepcopy ( varinfo. accs) )
533+ return VarInfo (metadata, varinfo. accs)
537534end
538535
539536function subset (metadata:: NamedTuple , vns:: AbstractVector{<:VarName} )
622619
623620function _merge (varinfo_left:: VarInfo , varinfo_right:: VarInfo )
624621 metadata = merge_metadata (varinfo_left. metadata, varinfo_right. metadata)
625- return VarInfo (metadata, deepcopy ( varinfo_right. accs) )
622+ return VarInfo (metadata, varinfo_right. accs)
626623end
627624
628625function merge_metadata (vnv_left:: VarNamedVector , vnv_right:: VarNamedVector )
@@ -1014,7 +1011,7 @@ istrans(vi::VarInfo, vn::VarName) = istrans(getmetadata(vi, vn), vn)
10141011istrans (md:: Metadata , vn:: VarName ) = is_flagged (md, vn, " trans" )
10151012
10161013getaccs (vi:: VarInfo ) = vi. accs
1017- setaccs!! (vi:: VarInfo , accs:: AccumulatorTuple ) = Accessors . @set vi. accs = accs
1014+ setaccs!! (vi:: VarInfo , accs:: AccumulatorTuple ) = VarInfo ( vi. metadata, accs)
10181015
10191016# Need to introduce the _isempty to avoid type piracy of isempty(::NamedTuple).
10201017isempty (vi:: VarInfo ) = _isempty (vi. metadata)
0 commit comments