> On Aug 8, 2017, at 3:24 PM, Daryle Walker via swift-evolution > <swift-evolut...@swift.org> wrote: >> On Aug 8, 2017, at 12:35 AM, Félix Cloutier <felixclout...@icloud.com >> <mailto:felixclout...@icloud.com>> wrote: >> >> 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. > > So you’re saying the COW semantics for Array and other standard library types > have secret references/pointers that work even for “let”-mode objects, and > the Sequence variants the various forms of “joined” need use a > Sequence/Collection of those secret references?
Why would .joined() need some sort of special reference instead of just storing the collection values as normal values? John. > >>> Le 7 août 2017 à 21:12, Daryle Walker via swift-evolution >>> <swift-evolut...@swift.org <mailto:swift-evolut...@swift.org>> 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 > swift-evolut...@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users