-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[ntuple] Propagate type aliases from item fields #20623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
3ec064d to
934d6af
Compare
The variant field, the tuple field, and the pair field all use approximately the same GetTypeList() private static method. Factor this out in a single method in an anonymous namespace.
When constructing compound types from item fields, propagate alias types from the item fields to the parent field. This is already done globally in RFieldBase::Create() because the entire type name is compared to the unresolved type name. However, the type alias propagation was missing when a field is directly constructed with an item field.
Test Results 22 files 22 suites 3d 23h 39m 39s ⏱️ Results for commit 934d6af. |
I'm not fully sure. The framework's EDM wraps everything in I don't know if NanoAOD stores anything in e.g. We set the |
pcanal
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.
| } | ||
|
|
||
| std::string BuildSetTypeName(ROOT::RSetField::ESetType setType, const ROOT::RFieldBase &innerField) | ||
| std::string GetTypeList(std::span<std::unique_ptr<ROOT::RFieldBase>> itemFields, bool useTypeAliases) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a short summary of the behavior (Intend of the use of the result, reach of the list).
This should be the last piece to fix #20282. In particular, it is necessary to fix
[U]Long64_ttemplate arguments where the type is not wrapped in a class. I.e. without this fixAnother PR with the corresponding test will follow.
@makortel Please let me know if you need this backported to 6.36. This depends on whether your top-level branches are all wrapped in a class or if you have STL collections directly as top-level branches.