All this means is that `joined()` does not create an array that contains the 
new result. It's only as magic as the COW semantics on arrays.

> Le 7 août 2017 à 21:12, Daryle Walker via swift-evolution 
> <[email protected]> a écrit :
> 
> I was looking at random items at SwiftDoc.org <http://swiftdoc.org/>, and 
> noticed the “FlattenBidirectionalCollection” structure. It helps implement 
> some versions of “joined” from Sequence (probably when the Sequence is also a 
> BidirectionalCollection). The directions for the type state that “joined” 
> does not create new storage. Then wouldn’t it have to refer to the source 
> objects by reference? How; especially how does it work without requiring a 
> “&” with “inout” or how it works with “let”-mode objects? Or am I 
> misunderstanding how it works behind the covers?
> 
> (If there is a secret sauce to have one object refer to another without 
> “&”/“inout”/“UnsafeWhateverPointer”, I like to know. It may help with 
> implementing an idea. The idea involves extending the language, so “compiler 
> magic” that the user can’t access is OK; I’d just claim to use the same sauce 
> in my proposal.)
> 
> — 
> Daryle Walker
> Mac, Internet, and Video Game Junkie
> darylew AT mac DOT com 
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

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

Reply via email to