Ah, how come I never thought about trying that!? Thanks!
Regards, Glen > On 23 Sep 2017, at 1:10 PM, Slava Pestov <spes...@apple.com> wrote: > > >> On Sep 22, 2017, at 10:10 PM, Glen Huang via swift-users >> <swift-users@swift.org> wrote: >> >> I have a class like this: >> >> class File { >> type: FileType >> url: URL >> func fetch(from server: Server) { >> type(of: server).get(from: url) >> } >> } >> >> However, it fails to compile with "Cannot call value of non-function type >> ‘File’” inside the body of fetch(from:). I believe the reason is that >> self.type shadows type(of: server). >> >> Other than renaming the “type” property, is there any other way to work >> around it? I tried "Foundation.type(of: server)” and found out that it’s >> from the standard library and not Foundation. Is there a prefix that denotes >> the standard library? > > The standard library module is named ‘Swift’, so ‘Swift.type(of:)’ should do > the trick. > >> >> A more general question, since this is clearly a function call, why would it >> be shadowed by self.type, which is clearly a property access? >> >> I’m using Swift 4 in Xcode 9. >> >> Regards, >> Glen >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org >> https://lists.swift.org/mailman/listinfo/swift-users > _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users