Tuple is a struct, so it's returned according to those rules. 

Sent from my iPhone

On Jan 3, 2012, at 3:09 PM, Manu <[email protected]> wrote:

> Does returning a tuple give any ABI guarantees? How can I be sure multiple 
> return values will return in consecutive registers?
> What if the return types are of different types, a float and an int... can I 
> expect each to return in their own register types respectively?
> This needs to be defined and loosely guaranteed (within reason) so people can 
> expect multiple return values to behave as expected on any architecture.
> 
> On 4 January 2012 01:02, Sean Kelly <[email protected]> wrote:
> It's easy enough with Tuple, though better language support would be nice.
> 
> Sent from my iPhone
> 
> On Jan 3, 2012, at 2:40 PM, Manu <[email protected]> wrote:
> 
> > Why doesn't D support multiple return values like many other modern 
> > languages?
> >
> > Clearly the same syntax as Go wouldn't work, but I'm sure a neat and tidy 
> > syntax could be invented?
> > I constantly want to be able to return x,y from a function, or 
> > retVal,errorCode and I want the language to make some rough ABI guarantees, 
> > like multiple return values will be returned in consecutive registers, 
> > rather than a single return value register like C/C++, avoiding the need to 
> > pass output addresses through ref function parameters (slow!).
> 

Reply via email to