<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hello,<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">Am 30.06.2017 um 10:55 schrieb Daryle Walker via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt;:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I was thinking posing aliases would be like symbolic substitution; we could replace the alias with the text defining its source expression everywhere and there should be no efficiency change. But I would want any evaluation of the (sub-)object’s location to be computed once; is that where complexity could come in? I was hoping that object location determination could be done at compile-time; that’s the reason for restricting what kinds of objects can be a source object.<br class=""></div></div></blockquote><br class="">Have you had a look at local `inout` bindings as proposed in the Ownership Manifesto[1]?</div><div>Do they solve your problem?</div><div><br class=""></div><div>— Martin</div><div><br class=""></div><div>[1]: <a href="https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md#local-ephemeral-bindings" class="">https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md#local-ephemeral-bindings</a></div><a href="https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md#local-ephemeral-bindings" class=""></a><a href="https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md#local-ephemeral-bindings" class=""></a><br class=""></div></body></html>