new Info("T").pointerTypes("T1", "T2");
new Info("U").pointerTypes("U1", "U2");
we now generate:
void f(T1 t, U1 u);
void f(T2 t, U2 u);
Is this intentional ?
Shouldn't we generate all combinations ?
void f(T1 t, U1 u);
void f(T2 t, U1 u);
void f(T1 t, U2 u);
void f(T2 t, U2 u);
For instance in Pytorch, we have function einsum that takes as std::string and a ArrayRef.
We used to have 2 java methods, one taking BytePointer and ArrayRef and another String and ArrayRef.
But since I added Vector to pointer types for c10::ArrayRef, we now have a java method taking BytePointer and ArrayRef and another taking String and Vector. The overload taking String and ArrayRef is lost, which could break some user code.
If we have in C++:
and:
we generate:
If the function takes 2 arguments:
with:
we now generate:
Is this intentional ? Shouldn't we generate all combinations ?
For instance in Pytorch, we have function
einsum
that takes asstd::string
and aArrayRef
. We used to have 2 java methods, one takingBytePointer
andArrayRef
and anotherString
andArrayRef
. But since I addedVector
to pointer types forc10::ArrayRef
, we now have a java method takingBytePointer
andArrayRef
and another takingString
andVector
. The overload takingString
andArrayRef
is lost, which could break some user code.