Skip to content

[tree] missing value in I/O rule for vector<T> with deep source member #19773

@jblomer

Description

@jblomer

Check duplicate issues.

  • Checked for duplicates

Description

We have a schema evolution of class T and a split branch with a vector<T>. The I/O rule for T is supposed to move a member within a struct member up to the top level. The rule runs but doesn't populate the new top-level member correctly.

Spin-off of #19650
The fix in #19688 does not work for this case. Although I assume the cause is similar: the I/O rule runs but points to the wrong staging area.

Reproducer

The following minimal example demonstrates the problem. The I/O rule is supposed to populate the new fMember with the old versions fDeep.fDeepMember. That works for all cases but split tree.

mini.tar.gz

ROOT version

master

Installation method

from sources

Operating system

Linux

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions