[ntuple] fix type names with [U]Long64_t template args#20478
[ntuple] fix type names with [U]Long64_t template args#20478jblomer merged 6 commits intoroot-project:masterfrom
Conversation
Test Results 22 files 22 suites 4d 0h 57m 18s ⏱️ For more details on these failures, see this check. Results for commit b140667. ♻️ This comment has been updated with latest results. |
bd12deb to
be32af3
Compare
a676f02 to
16a90ef
Compare
hahnjo
left a comment
There was a problem hiding this comment.
Should this be mentioned in "Type Name Normalization" of BinaryFormatSpecification.md?
Done in the latest commit |
9117197 to
188b25a
Compare
188b25a to
3c9d1b0
Compare
hahnjo
left a comment
There was a problem hiding this comment.
The changes make sense to me, some comment inline
eaad291 to
3facd4a
Compare
3facd4a to
1e272ec
Compare
Custom classes with [U]Long64_t template arguments need to use their meta-normalized name as type alias. Otherwise, during reconstruction with the RNTuple normalized name, the streamer info for the `std::[u]int64_t` argument will be requested (typically `long` instead of `long long`).
Clarify treatment of ROOT fundamental typedefs, including special treatment of `[U]Long64_t`.
1e272ec to
b140667
Compare
|
Thanks for the fix! Do I understand correctly that with this PR using the (CMS' demangling should result in |
|
Would you be (eventually) comfortable in backporting this PR to 6.36? |
Custom classes with [U]Long64_t template arguments need to use their
meta-normalized name as type alias. Otherwise, during reconstruction
with the RNTuple normalized name, the streamer info for the
std::[u]int64_targument will be requested (typicallylonginstead of
long long).Fixes #20282