Skip to content

Conversation

@pcanal
Copy link
Member

@pcanal pcanal commented Aug 8, 2024

In GetRealData, do not complain about missing information about data members that are directly or indirectly within a transient member of the top level class.

This solves the underlying problem from #15733

@github-actions
Copy link

github-actions bot commented Aug 9, 2024

Test Results

    18 files      18 suites   4d 1h 30m 43s ⏱️
 2 738 tests  2 738 ✅ 0 💤 0 ❌
47 611 runs  47 611 ✅ 0 💤 0 ❌

Results for commit bea2dd7.

♻️ This comment has been updated with latest results.

@dpiparo dpiparo changed the title TProtoClass: do not complaint innards of transients. TProtoClass: do not complain innards of transients. Aug 9, 2024
@pcanal pcanal marked this pull request as draft August 10, 2024 00:16
@pcanal pcanal marked this pull request as ready for review August 12, 2024 14:36
@pcanal pcanal requested a review from dpiparo August 12, 2024 17:08
@pcanal
Copy link
Member Author

pcanal commented Aug 12, 2024

The 2 failures are pre-exisiting (Mac-Beta due to XCode upgrade and TMapFile random behavior).

Copy link
Member

@dpiparo dpiparo left a comment

Choose a reason for hiding this comment

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

This PR is very good, thanks for preparing it. I highlighted some opportunities for improvement as well as clarification in form of comments. Addressing all of them should not take much.
Do we have test coverage for the change? For example a test where before there was output that after the PR disappear?

pcanal added 5 commits August 21, 2024 17:36
Do not complain about missing information about data members that directly or indirectly within
a transient members of the top level class in GetRealData.

This solves the underlying problem from root-project#15733
We do want to record as transient a real data member that is inside a
nested object that is itself marked as transient.  This is particular
useful to know when to warn about missing information and when not.

Previously only the data member explicitly marked as transient
were marked as transient in the RealData.
Now we also mark the member nested inside a transient member.

This will prevent spurrious warning about missing information
about the inner content of a transient data member.

However we can not rely on when the `isTransient` parameter to
`TBuildRealData::Inspect` is set to true because it is set both
in the case where the object is really nested and the real data is
being added to the current class (what we want)
and in the case where we want to setup a related class but the
real data will not be added to the current class (eg. collection
or pointer to a class).
When/if a TClass for a std::tuple is first loaded in forward declared state and then
the interpreter information is loaded, we now properly replace the ClassInfo and
StreamerInfo
@guitargeek
Copy link
Contributor

@pcanal, the failures are real. What is the status of this PR?

Copy link
Member

@dpiparo dpiparo left a comment

Choose a reason for hiding this comment

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

Thanks.

@pcanal pcanal closed this Apr 14, 2025
@pcanal pcanal reopened this Apr 14, 2025
@dpiparo dpiparo merged commit d15d5a3 into root-project:master Apr 15, 2025
20 of 21 checks passed
@pcanal pcanal deleted the fix-15733 branch April 15, 2025 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants