D Editions
Quirin Schroll
qs.il.paperinik at gmail.com
Wed Jun 19 13:30:35 UTC 2024
On Monday, 17 June 2024 at 22:47:03 UTC, Atila Neves wrote:
> On Friday, 14 June 2024 at 17:24:59 UTC, Quirin Schroll wrote:
>> On Thursday, 30 May 2024 at 18:31:48 UTC, Atila Neves wrote:
>>> https://github.com/atilaneves/DIPs/blob/editions/editions.md
>>
>> The DIP doesn’t mention the addition of new keywords without
>> breaking identifiers identical to them. I’m thinking of
>> `impure` here, as it would be the most orthogonal way to
>> introduce an inverse for `pure`.
>
> I don't think that scales given how many attributes we have.
Of the ones I mean, we have four: `@safe`, `nothrow`, `@nogc`,
and `pure`. Of those, `@safe` had `@system` from the get-go and
`throw` was added by DIP 1029 (seems unimplemented). I’m writing
a DIP to add `@gc`. Then, only `pure` remains without inverse.
There’s also `@live`, but it’s not transitive and it me, it seems
it makes no outward guarantees (e.g. one can override a `@live`
function by a non-`@live` one, or assign a non-`@live` function’s
address to a function pointer variable with `@live`).
More information about the dip.ideas
mailing list