[swift-evolution] [Pitch] Adding a Self type name shortcut for static member access

Bernd Ohr (jazzbox) jazzbox at 7zz.de
Wed Apr 6 02:11:51 CDT 2016


I am using a typealias for this:

struct MyStruct {
    private typealias _Self = MyStruct

    static func staticMethod() { print("staticMethod") }
        
    func instanceMethod() {
        _Self.staticMethod()
    }
}



> > On Apr 5, 2016, at 4:17 PM, Timothy Wood<tjw at me.com(mailto:tjw at me.com)>wrote:
> > 
> > > On Apr 5, 2016, at 3:04 PM, Joe Groff via swift-evolution<swift-evolution at swift.org(mailto:swift-evolution at swift.org)>wrote:
> > > What you're describing should be spelled `Self`, IMO. I think Tim intended `#Self` to mean the *static* type the code is declared inside (which is the same as Self unless you're in a class).
> > 
> > Yes, that is what I was aiming for. `#Self` would be a pretty much textual replacement just like #file, etc. That is, I could imaging it being used in a bunch of cases (not useful here, but just intending to enumerate the possible uses I see):
> Please check to ensure that the changes I just made match your expectations:
> 
> https://gist.github.com/erica/c60c7d51809889f3dfd47cdb482d6227
> 
> -- E
> 



More information about the swift-evolution mailing list