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?
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?
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.
···
On Sep 22, 2017, at 10:10 PM, Glen Huang via swift-users <swift-users@swift.org> wrote:
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?
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?