Skip to content

Update usage of CppInterOp API - #168

Open
Vipul-Cariappa wants to merge 2 commits into
compiler-research:mainfrom
Vipul-Cariappa:update/BestOverloadFunctionMatch
Open

Vipul-Cariappa wants to merge 2 commits into
compiler-research:mainfrom
Vipul-Cariappa:update/BestOverloadFunctionMatch

Conversation

@Vipul-Cariappa

@Vipul-Cariappa Vipul-Cariappa commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

According to compiler-research/CppInterOp#1147

With this change, the user will not be able to call a templated static function from the object.
For example:

struct A {
static void foo(int) {};
template <typename T>
static void bar(T t) {};
};
gbl.A().foo(1) # good
gbl.A.foo(1)   # good
gbl.A().bar(1) # bad
gbl.A.bar(1)   # good

FYI, I expect the tests to fail as the CppInterOp PR is not yet merged.

@aaronj0

aaronj0 commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

FYI, I expect the tests to fail as the CppInterOp PR is not yet merged.

You can stack this PR on top of the CppInterOp one for CI feedback. Template example: cc7edf7 with your remote and branch

I'll update the CI to LLVM 23 shortly

According to compiler-research/CppInterOp#1147

With this change, the user will not be able to call templated static
function from the object.
For example:
```c++
struct A {
static void foo(int) {};
template <typename T>
static void bar(T t) {};
};
```
```python
gbl.A().foo(1) # good
gbl.A.foo(1)   # good
gbl.A().bar(1) # bad
gbl.A.bar(1)   # good
```
@Vipul-Cariappa
Vipul-Cariappa force-pushed the update/BestOverloadFunctionMatch branch from 1564c5f to b7e3017 Compare October 23, 2026 15:06

This branch has not been deployed

No deployments
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.

2 participants