@@ -287,7 +287,7 @@ function typed_varinfo(vi::UntypedVarInfo)
287
287
)
288
288
end
289
289
nt = NamedTuple {syms_tuple} (Tuple (new_metas))
290
- return VarInfo (nt, deepcopy ( vi. accs) )
290
+ return VarInfo (nt, vi. accs)
291
291
end
292
292
function typed_varinfo (vi:: NTVarInfo )
293
293
# This function preserves the behaviour of typed_varinfo(vi) where vi is
@@ -348,7 +348,7 @@ single `VarNamedVector` as its metadata field.
348
348
"""
349
349
function untyped_vector_varinfo (vi:: UntypedVarInfo )
350
350
md = metadata_to_varnamedvector (vi. metadata)
351
- return VarInfo (md, deepcopy ( vi. accs) )
351
+ return VarInfo (md, vi. accs)
352
352
end
353
353
function untyped_vector_varinfo (
354
354
rng:: Random.AbstractRNG ,
@@ -391,12 +391,12 @@ NamedTuple of `VarNamedVector`s as its metadata field.
391
391
"""
392
392
function typed_vector_varinfo (vi:: NTVarInfo )
393
393
md = map (metadata_to_varnamedvector, vi. metadata)
394
- return VarInfo (md, deepcopy ( vi. accs) )
394
+ return VarInfo (md, vi. accs)
395
395
end
396
396
function typed_vector_varinfo (vi:: UntypedVectorVarInfo )
397
397
new_metas = group_by_symbol (vi. metadata)
398
398
nt = NamedTuple (new_metas)
399
- return VarInfo (nt, deepcopy ( vi. accs) )
399
+ return VarInfo (nt, vi. accs)
400
400
end
401
401
function typed_vector_varinfo (
402
402
rng:: Random.AbstractRNG ,
@@ -447,10 +447,7 @@ function unflatten(vi::VarInfo, x::AbstractVector)
447
447
# The below line is finicky for type stability. For instance, assigning the eltype to
448
448
# convert to into an intermediate variable makes this unstable (constant propagation)
449
449
# 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)
454
451
return VarInfo (md, accs)
455
452
end
456
453
533
530
534
531
function subset (varinfo:: VarInfo , vns:: AbstractVector{<:VarName} )
535
532
metadata = subset (varinfo. metadata, vns)
536
- return VarInfo (metadata, deepcopy ( varinfo. accs) )
533
+ return VarInfo (metadata, varinfo. accs)
537
534
end
538
535
539
536
function subset (metadata:: NamedTuple , vns:: AbstractVector{<:VarName} )
622
619
623
620
function _merge (varinfo_left:: VarInfo , varinfo_right:: VarInfo )
624
621
metadata = merge_metadata (varinfo_left. metadata, varinfo_right. metadata)
625
- return VarInfo (metadata, deepcopy ( varinfo_right. accs) )
622
+ return VarInfo (metadata, varinfo_right. accs)
626
623
end
627
624
628
625
function merge_metadata (vnv_left:: VarNamedVector , vnv_right:: VarNamedVector )
@@ -1014,7 +1011,7 @@ istrans(vi::VarInfo, vn::VarName) = istrans(getmetadata(vi, vn), vn)
1014
1011
istrans (md:: Metadata , vn:: VarName ) = is_flagged (md, vn, " trans" )
1015
1012
1016
1013
getaccs (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)
1018
1015
1019
1016
# Need to introduce the _isempty to avoid type piracy of isempty(::NamedTuple).
1020
1017
isempty (vi:: VarInfo ) = _isempty (vi. metadata)
0 commit comments