In writing my blog series (Blog series: The Swift Runtime), I want to cite when I'm relying on a property that I and others have talked about before: the inout-to-pointer conversion for a stored global will always use the actual address of the global instead of making a local copy. This guarantee is only provided for globals and static stored properties right now, and even then only in modules compiled without library evolution support (plus non-const globals imported from C, of course).
I know we want to do better here, with @lorentey and others having mentioned a hypothetical "addressable" attribute that could be applied to class instance properties (and elsewhere?), and the previous thread "Passing an extern const C struct by pointer possible?". However, right now I'm just looking for a citation (Apple or swift.org docs, WWDC presentation, compiler docs) of the guarantee I stated above.
Here's the earliest forum post I can find (from me, actually):
Not all inout-to-pointer conversions result in a temporary pointer. Passing global variables and static properties inout can produce non-ephemeral pointers, as long as they are stored and have no observers. Additionally, if they are of a tuple or struct type, their stored members without observers may also be passed inout as non-ephemeral pointers.
Note that even then, only the physical value of the pointer is guaranteed to be the same. You can't load or store from a pointer to a global outside of the with* block or pointer-to-inout call that created the pointer.