Sent from my iPad

On Jun 3, 2016, at 7:08 AM, Brent Royal-Gordon <[email protected]> wrote:

>> This might be silly, but what if there were a struct with all of the 
>> relevant fields (not sure what the best name would be):
>> 
>> struct MemoryLayout {
>> let size: Int
>> let alignment: Int
>> let stride: Int
>> // etc
>> }
>> 
>> Then you’d only maybe need two functions:
>> 
>> memoryLayout(of:) and memoryLayout(ofType:)
> 
> Could the `memoryLayout` functions just return `(size: Int, alignment: Int, 
> spacing: Int)` tuples? It's hard to tell because it goes into Builtin land, 
> but I get the impression that these values are calculated at compile time 
> anyway, and if you only used one of them the optimizer could throw the others 
> away.

What would be the advantage of this over returning a value of a MemoryLayout 
type?  Obviously tuples can be destructured, but I can't think of any others.  
I would like to see struct destructuring someday.  I'm not sure destructuring 
is a strong enough argument to go with a tuple here.  If there is a good reason 
to have a MemoryLayout type we shouldn't drop it just for destructuring, which 
may eventually be possible anyway (I hope anyway).

> 
> -- 
> Brent Royal-Gordon
> Architechies
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to