[swift-evolution] [Pitch] Renaming sizeof, sizeofValue, strideof, strideofValue

Xiaodi Wu xiaodi.wu at gmail.com
Thu Jun 2 00:27:42 CDT 2016

On Thu, Jun 2, 2016 at 12:24 AM, Patrick Smith <pgwsmith at gmail.com> wrote:

> I really like this idea. This IMO is lower level functionality than
> `type(of:)` (née dynamicType), so I think it makes sense for it to be
> grouped under its own domain, the MemoryLayout type.
> Plus MemoryLayout can be extended with new convenience methods.
> I’m fine with those old methods being removed, but I never use them so! Is
> it the same as calling type(of:) then using that with MemoryLayout? I
> imagine they could be fixit’d easily, and that they compile down to the
> same underlying code.

I'm actually souring to the idea. It goes in the diametrically opposite
direction from dynamicType. There, something was changed from being
property-like to being function-like. Here, Dave's proposal would take
something that's a function and turn it into a property. Hmm.

> On 2 Jun 2016, at 3:05 PM, Xiaodi Wu via swift-evolution <
> swift-evolution at swift.org> wrote:
> 2. Dave A. and others expressed the opinion that these should probably not
> be global functions; his preference was for:
> ```
> MemoryLayout<T>.size // currently sizeof()
> MemoryLayout<T>.spacing // currently strideof()
> MemoryLayout<T>.alignment // currently alignof()
> ```
> 3. Dave A. proposed that sizeofValue(), strideofValue(), and
> alignofValue() are better off removed altogether. I don't know if people
> are going to be happy about this idea.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160602/48d9bd59/attachment-0001.html>

More information about the swift-evolution mailing list