[ntuple] detect runtime member streamers via TRealData#21281
[ntuple] detect runtime member streamers via TRealData#21281jblomer merged 1 commit intoroot-project:masterfrom
Conversation
jblomer
left a comment
There was a problem hiding this comment.
Thank you!
I think that automatically using a streamer field is undesired. Custom member streamers are a rare case and for now, I think we should simply detect this case in RClassField and fail with an error message.
We would also need a test for this.
c4e0f67 to
695bd21
Compare
|
I have updated the PR,
Please let me know if I should change anything. Thanks! |
jblomer
left a comment
There was a problem hiding this comment.
Looks quite close to being merge ready!
695bd21 to
b1324a7
Compare
|
i have updated the code,
Thanks! |
b1324a7 to
f6314db
Compare
Test Results 22 files 22 suites 3d 3h 14m 32s ⏱️ Results for commit 9243edc. ♻️ This comment has been updated with latest results. |
jblomer
left a comment
There was a problem hiding this comment.
In principle looks good to me but see the CI report (missing TBuffer.h include)
|
@jblomer |
f6314db to
14a18ab
Compare
|
I have added the changes that you had pointed out about I also changed the code snippet as i think it is the cause of the segmentation fault. Thanks! |
14a18ab to
3a10633
Compare
3a10633 to
9243edc
Compare
|
I have made the changes to use Thanks! |
This Pull request:
Changes or fixes:
When a class member has a custom streamer set at runtime via
TClass::SetMemberStreamer()orTClass::AdoptMemberStreamer(),RFieldBase::Create()now detects this by iteratingTRealDataand checkingTRealData::GetStreamer().If any member has a custom streamer, an RStreamerField is used instead of RClassField, preventing the class from being split into columns which would bypass the member's custom serialization logic.
Checklist:
This PR fixes #20448