gopy icon indicating copy to clipboard operation
gopy copied to clipboard

support multiple return values using slice?

Open rcoreilly opened this issue 5 years ago • 0 comments

It should be possible in theory to support multiple return values from Go functions, constructing a []handle slice or something like that. The main problem would be supporting any kind of mix of basic value types (int, float etc) and objects requiring handles -- we don't have handles for values.. And, not sure about how pybindgen works with these -- it is targeted toward C / C++ which doesn't support multiple return types, so presumably it just ends up being a single opaque slice object return value, and it is up to the python user to decode the values properly.

Probably it would make the most sense to only support homogenous basic return values -- multiple int's floats etc. This is likely to be a very small subset of functions -- so far I have just written a few *Py methods that do this manually.

Note that the common case of an additional error return value is handled using a Python exception, instead of returning the error, so this would continue in any case.

rcoreilly avatar Nov 15 '20 01:11 rcoreilly