Is @safe still a work-in-progress?
Mike Franklin
slavo5150 at yahoo.com
Wed Aug 22 01:07:28 UTC 2018
On Tuesday, 21 August 2018 at 21:17:25 UTC, Atila Neves wrote:
> I don't have merge rights. I took a look anyway and it mostly
> looks ok, but I'm not familiar enough with that part of the
> codebase.
It's not the implementation that's preventing it from being
merged. It's the idea itself, weak rationale, lack of peer
review, lack of consideration for alternatives, and lack of
documentation supporting it. It reeks of "designed on a whim to
quickly patch some oversight in the design DIP1000 while trying
to get Phobos to compile with -dip1000".
With the proposed idea, order of parameters matters. We'll need
to establish a convention that return parameters must be declared
first, which is opposite of
https://dlang.org/phobos/std_algorithm_mutation.html#copy. Is
that a good idea? Maybe it is. We haven't vetted the design yet,
so I'm not sure. Why haven't we vetted the design? Because
there currently isn't one; there's just an informal
back-of-the-napkin memo uploaded to a bugzilla entry.
The proposed idea wants to make the first parameter, if it's
`ref`, special. Why not the first `ref` parameter regardless of
whether it's the absolute first in the list. Why not the last
`ref` parameter? Why not all `ref` parameters?
But what bothers me the most is I think it's missing the bigger
picture: D needs a way to annotate lifetimes. Maybe `scope` and
`return` with weird conditions based on the order of parameters
and their attributes are the way to go. Maybe there's another
way that hasn't yet been considered.
Put together a thorough description of the proposal, justify it,
ask the larger community for comment, vet it, and document it.
At least that's what it's going to take to get me to take action
on the PR.
Or maybe someone else is willing to just rubber stamp it in the
interest of expediency.
Mike
More information about the Digitalmars-d
mailing list