[Pitch] Renaming sizeof, sizeofValue, strideof, strideofValue

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.

···

On Jun 2, 2016, at 1:43 PM, Russ Bishop <xenadu@gmail.com> wrote:

On Jun 2, 2016, at 11:30 AM, John McCall via swift-evolution <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> 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.