Skip to content

Conversation

jblomer
Copy link
Contributor

@jblomer jblomer commented Sep 29, 2025

No description provided.

Collection items must have "_0" as item field name, which can be
violated in RVectorField::CreateUntyped().
@jblomer jblomer self-assigned this Sep 29, 2025
@jblomer jblomer requested a review from bellenot as a code owner September 29, 2025 19:40
@jblomer jblomer force-pushed the ntuple-evolution-collections branch from 0c12fd5 to 30e1202 Compare September 29, 2025 20:54
Copy link

github-actions bot commented Sep 30, 2025

Test Results

    22 files      22 suites   3d 17h 37m 22s ⏱️
 3 683 tests  3 683 ✅ 0 💤 0 ❌
79 131 runs  79 131 ✅ 0 💤 0 ❌

Results for commit f420cd5.

♻️ This comment has been updated with latest results.

@jblomer jblomer force-pushed the ntuple-evolution-collections branch from 30e1202 to f420cd5 Compare September 30, 2025 02:48
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.

Looks mostly good; two questions inline because I forgot our discussions again...


void ROOT::RSetField::ReconcileOnDiskField(const RNTupleDescriptor &desc)
{
static const std::vector<std::string> prefixesRegular = {"std::set<", "std::unordered_set<", "std::map<"};
Copy link
Member

Choose a reason for hiding this comment

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

I guess we discussed this, but I forgot the reasoning again, sorry: Why can we read into a kUnorderedSet from a std::map, but not from a std::unordered_map?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think from the point of view of I/O we could. But to make it happen, we would need an unordered_set<pair>, which is missing a default hash function...

Copy link
Member

Choose a reason for hiding this comment

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

from a std::map, but not from a std::unordered_map
we would need an unordered_set<pair>, which is missing a default hash function...

Why is this an issue for a std::unordered_map?

And is it a fundamental issue or just an issue for the test? I.e. if a user had written a map and wanted to read it into a unordered_set they would have have provided the necessary hash overload, isn't it?


void ROOT::RMapField::ReconcileOnDiskField(const RNTupleDescriptor &desc)
{
static const std::vector<std::string> prefixesRegular = {"std::map<", "std::unordered_map<", "std::set<"};
Copy link
Member

Choose a reason for hiding this comment

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

similarly here: std::unordered_set?

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.

3 participants