If the `.StaticMember` (no type name) notation discussed already at least twice, in the context of expanding the `.EnumCase` syntax, was accepted,<span></span> this would eleviate the problem. <br><br>On Tuesday, 5 April 2016, Timothy Wood via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><blockquote type="cite">On Apr 4, 2016, at 11:00 AM, Erica Sadun via swift-evolution &lt;<a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;swift-evolution@swift.org&#39;);" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br><br>Are there reasons that prevent using `Self` as a synonym for an instance&#39;s type name?<br><br></blockquote>[...]<br><blockquote type="cite"><br>I&#39;d like to see `Self.staticMember` introduced as a synonym for `TypeName.staticMember`.<br></blockquote><br>I would love to see a way to get the type of the &quot;enclosing thing at compile time”. In my particular case, I’m using the type as a generic parameter to tag a created resource with something like:<br><br><blockquote style="margin:0 0 0 40px;border:none;padding:0px">class Client: PropertyOwner {<br><span style="white-space:pre-wrap">        </span>let intProperty = Client.property(“name”, Int(0))<br>}</blockquote><br>where PropertyOwner has a static property&lt;Owner, DataType&gt;(...)<br><br>With `Self` meaning the static version of the thing being compiled, I could at least write:<br><br><blockquote style="margin:0 0 0 40px;border:none;padding:0px">class Client: PropertyOwner {<br><span style="white-space:pre-wrap">        </span>let intProperty = Self.property(“name”, Int(0))<br>}</blockquote><br>which would have the benefit of being harder to mess up due to copy-pasting between different PropertyOwner implementors.<div><br></div><div>I would love to be able to omit the `Self.` entirely, but instances can’t call functions on themselves at init time, and instances don’t see static funcs, so that probably won’t fly =)</div><div><br></div><div>The particular spelling of ‘static self` doesn’t matter too much to me, so if `Self` needs to be the runtime type of the executing class then maybe `StaticSelf` could be added.</div><div><br></div><div>-tim</div><div><br></div></div></blockquote><br><br>-- <br>-- Howard.<br>