| |
|
bauss ![bauss's Gravatar profile Gravatar of bauss](//www.gravatar.com/avatar/9017e187486e9519119c0967fd6c4414?d=identicon&s=80)
Posted in reply to rikki cattermole
| On Tuesday, 22 November 2022 at 05:55:04 UTC, rikki cattermole wrote:
> On 22/11/2022 6:47 PM, IchorDev wrote:
>> For instance, if everyone voted for "no syntax" then the poll would be useless to me.
>
> But it would tell you something useful.
>
> It would suggest a lot of people are wanting to explore semantic behavior instead. Such as Walter's alternative proposal idea.
If it's not implemented with .identifier then I will oppose it.
I don't buy the "it will break code" point of view either.
The only thing I can think of that will break is that .identifier already has a meaning today that means module scope.
But that could easily mean module AND "static/scoped" lookup and any ambiguity can be fixed by prioritization.
1. module scope 2. enum 3. static members of ex. classes
So if you type .a then it will first look in module scope, then in enums that are in scope and at last within classes that are in scope.
I suggested something like it earlier too.
Anything that is more complicated than .identifier is not worth it and will only introduce unncessary complexity to the language syntax.
Example:
```d
class A { static int a = 1; static int b = 2; }
enum B { b = 3, c = 4 }
int c = 5;
void main() {
writeln(.a);
writeln(.b);
writeln(.c);
}
```
Prints:
1
3
5
|