Skip to content

[ntuple] use only "true type name" for class members#21373

Open
jblomer wants to merge 1 commit intoroot-project:masterfrom
jblomer:ntuple-typename-member
Open

[ntuple] use only "true type name" for class members#21373
jblomer wants to merge 1 commit intoroot-project:masterfrom
jblomer:ntuple-typename-member

Conversation

@jblomer
Copy link
Contributor

@jblomer jblomer commented Feb 25, 2026

Do not set the full type name as type alias. Pass only the true type name to RFieldBase::Create(). The true type name will contain Long64_t and Double32_t type name tokens, so we are still able to treat those correctly.

The full type name would provide additional information. However, normalizing the full type name can cause header auto parsing. Also, the full type name, in general, cannot be used directly because it may be a type that is only valid within the class context.

Do not set the full type name as type alias. Pass only the true type
name to RFieldBase::Create(). The true type name will contain Long64_t
and Double32_t type name tokens, so we are still able to treat those
correctly.

The full type name would provide additional information. However,
normalizing the full type name can cause header auto parsing. Also, the
full type name, in general, cannot be used directly because it may be
a type that is only valid within the class context.
@jblomer jblomer self-assigned this Feb 25, 2026
@github-actions
Copy link

Test Results

    22 files      22 suites   3d 7h 31m 8s ⏱️
 3 799 tests  3 796 ✅ 0 💤 3 ❌
76 413 runs  76 410 ✅ 0 💤 3 ❌

For more details on these failures, see this check.

Results for commit 054886d.

Copy link
Member

@hahnjo hahnjo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! One possibility for cleanup, I believe.

Do we want to backport to ROOT v6.36 to help experiments, or will this be released with 6.40 only?


const auto normTypeName = ROOT::Internal::GetNormalizedUnresolvedTypeName(origTypeName);
if (normTypeName == subField->GetTypeName()) {
SetTypeAliasOf(*subField, "");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably remove RFieldBase::SetTypeAliasOf, I think this was the only call site.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants