RFC: DIP draft for "Compiler-defined Attribute Consistency"
Rune Morling
ermo at serpentos.com
Wed Jul 21 22:43:49 UTC 2021
On Wednesday, 21 July 2021 at 20:46:01 UTC, Paul Backus wrote:
> Here's my take.
>
> D's attributes can be divided, conceptually, into a few
> different "groups" of related attributes. Some examples are:
>
> (...)
>
> 4. The **Function Attribute Group**: `pure`, `nothrow`,
> `@nogc`, `@safe`, `@system`, `@trusted`, `@property`, and
> `@live`.
>
> ...and so on.
>
> The rule I propose is that *within a single group*, use of `@`
> should be consistent--either all of the attributes should use
> it, or none of them should.
>
> Of course this invites some debate as to where exactly one
> ought to draw the group boundaries (e.g., should `@property` be
> counted as part of the function attribute group, or is it a
> separate thing?). But it is at least a step forward from the
> current discussion, which does not even acknowledge that these
> groups exist in the first place.
I like this approach.
Consider the idea internally consistent groups acknowledged.
For the current DIP to go anywhere, we'd probably need to
agree/converge on how to divide all attributes into a reasonable
set of groups?
Once we have that, we can then discuss inter-group consistency
and propose the relevant changes.
What other group distinctions would make sense (if any)?
More information about the Digitalmars-d
mailing list