[swift-evolution] [swift-evolution-announce] [Review] SE-0107: UnsafeRawPointer API

Guillaume Lessard glessard at tffenterprises.com
Thu Jun 30 11:37:15 CDT 2016


>> * What is your evaluation of the proposal?

This is an excellent proposal, and a step forward in balancing safety and un-safety in an understandable way.

I have no issues about the substance, but two documentation issues:

- the compiler’s strict aliasing rules: not clearly defined in this document.
I *think* I know mostly what that means, but I’m not completely sure.

- so-called “trivial” types:
Coming from physics, where trivial means “not worthy of consideration” (an English dictionary concurs.)
It made me wonder why integers deserved such a putdown; the word “simple” would be just fine.
[y’ = y has solutions y(x) = e^x and y = 0; the latter is trivial as it generally isn’t interesting, despite being valid.]
It’s probably meant as “easily proven”, but since no proofs are shown, it feels like an inappropriate use.

>> * Is the problem being addressed significant enough to warrant a change to Swift?

Absolutely.

>> * Does this proposal fit well with the feel and direction of Swift?

I think so.

>> * If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

I’ve only done the kind of things enabled by this in C/C++, where it just feels like gambling. [feels like testing can only show that something works on one particular C/C++ compiler]. Clarity is good.

>> * How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

I’ve followed this discussion from the start, and asked questions. My interest was informed by experimental attempts to push the memory model; those attempts would have been covered by this document.

Cheers,
Guillaume Lessard



More information about the swift-evolution mailing list