> On Jun 2, 2016, at 1:43 PM, Russ Bishop <[email protected]> wrote:
>> On Jun 2, 2016, at 11:30 AM, John McCall via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> I still think the value-based APIs are misleading and that it would be 
>> better to ask people to just use a type explicitly.
>> 
>> John.
> 
> 
> I agree; in fact why aren’t these properties on the type itself? The type is 
> what matters; why can’t the type just tell me it’s size? 
> Having free functions or magic operators seems to be another holdover from C. 
> 
> 
>     Int.size
>     Int.alignment
>     Int.spacing
> 
>     let x: Any = 5
>     type(of: x).size
> 
> 
> The compiler should be able to statically know the first three values and 
> inline them. The second is discovering the size dynamically.

Two reasons.  The first is that this is a user-extensible namespace via static 
members, so it's somewhat unfortunate to pollute it with names from the 
library.  The second is that there's currently no language mechanism for adding 
a static member to every type, so this would have to be built-in.  But I agree 
that in the abstract a static property would be preferable.

John.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to