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
