> On 03 Nov 2016, at 23:58, Manfred Schubert via swift-users > <swift-users@swift.org> wrote: > > Am 03.11.2016 um 15:41 schrieb Rien <r...@balancingrock.nl>: >> >> Ah, but that is not the case. >> >> It is important to differentiate between the “gateway” to the memory and the >> memory area itself. >> Different programming languages/compilers have different approaches, but I >> believe that Swift allocates a struct for every gateway. >> widePtr and narrowPtr are two different gateways. They refer to different >> struct's. But the struct for each of them refers to the same memory area. > > When you have a look at the Swift memory model explanation > > https://github.com/apple/swift-evolution/blob/master/proposals/0107-unsaferawpointer.md#memory-model-explanation > > it looks like memory can only be bound to one type at a time. In particular > in the third example where a pointer of type T is used to initialize memory > which is bound to type U, it says that the behavior is undefined. > > There is also withMemoryRebound(to:capacity:) which binds memory to another > type, executes the code that accesses the memory as this type in a closure, > and the restores the old type binding. > > That makes me think that it is not allowed to have multiple „gateways“ to the > same memory area at the same time. >
It only means that memory access must be typed, not existence. > > Manfred > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users Regards, Rien Site: http://balancingrock.nl Blog: http://swiftrien.blogspot.com Github: http://github.com/Swiftrien Project: http://swiftfire.nl _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users