Skip to content

Upstream various patches from the migration and ROOT#188

Merged
aaronj0 merged 8 commits intocompiler-research:masterfrom
aaronj0:upstream-root-patches
Mar 30, 2026
Merged

Upstream various patches from the migration and ROOT#188
aaronj0 merged 8 commits intocompiler-research:masterfrom
aaronj0:upstream-root-patches

Conversation

@aaronj0
Copy link
Copy Markdown
Collaborator

@aaronj0 aaronj0 commented Mar 29, 2026

No description provided.

aaronj0 and others added 7 commits March 29, 2026 16:12
Reduce diff with ROOT
string-based CreateConverter already rejects mutable pointer
references (T*&). Our forks should re-implement this in the type-based path.
The silent True/False return when comparing a null C++ pointer with
None led to confusing behavior (x == None is True but x is None is
False). Raise a TypeError with guidance to use truth value checks.
Synced from ROOT commits 37581aa79ce and b337e97ed48.
Fixes Windows build where long long and intptr_t are incompatible. From the ROOT migration branch.
Use iterator-based construction to avoid implicit conversion issues
between GetDimensions return type and dim_t on Windows.
Synced from the ROOT migration branch
@aaronj0 aaronj0 requested a review from vgvassilev March 29, 2026 14:24
@aaronj0
Copy link
Copy Markdown
Collaborator Author

aaronj0 commented Mar 30, 2026

The failing tests here are expected:

The silent True/False return when comparing a null C++ pointer with
None led to confusing behavior (x == None is True but x is None is
False). Raise a TypeError with guidance to use truth value checks

We need to update the tests to no longer perform these unreliable checks

Copy link
Copy Markdown

@vgvassilev vgvassilev left a comment

Choose a reason for hiding this comment

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

LGTM!

This commit follows up on root-project/root@d35e114 wehere interfaces taking references to pointers were disallowed from being used in Python. That was a nice change, but we should continue to allow immutable references to pointers since that prevents pointer rebinding and can be used safely from Python. This commit enables the same and updates the `VoidPtrRefConverter` to map only to the const case.
Copy link
Copy Markdown

@vgvassilev vgvassilev left a comment

Choose a reason for hiding this comment

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

LGTM!

@aaronj0 aaronj0 merged commit c40e8b8 into compiler-research:master Mar 30, 2026
23 of 38 checks passed
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