Am 01.11.2016 um 21:43 schrieb Michael Ilseman <milse...@apple.com>: > > This is more so a semantic distinction rather than some kind of physical > operation. The memory is not altered, but all reads and writes to that memory > location have to be through the “bound type”. If it’s “bound” to some type T, > you must only read and write through values of type T, and not some unrelated > type.
So is „binding memory to a type“ like declaring the intent to the compiler that this memory is accessed as a certain type? > [1] > https://github.com/apple/swift-evolution/blob/master/proposals/0107-unsaferawpointer.md#memory-model-explanation Re-reading this, I guess I don’t even understand the need for memory being initialized and deinitialized. I understand that it is useful to have a defined initial value, but why is that a requirement for raw memory? If I receive raw memory from outside of Swift, would this already be „bound“ and „initialized“? Many raw data can be interpreted in multiple ways, so it cannot be bound to any particular type, but it is initialized with meaningful data already. And what does deinitialize actually do? How could a row of Ints be deinitialized for example? Or is it zeroing the raw bytes of the memory? Manfred _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users