First draft: added with-colon statement
Walter Bright
newshound2 at digitalmars.com
Sun Jan 19 05:25:15 UTC 2025
On 1/18/2025 1:19 PM, qxi wrote:
> In current implementation if there is multiple 'with:' in same scope then last
> 'with:' take precedence and I think multiple 'with:' in the same scope should
> have the equal precedence.
>
> '''
> enum E1{ A,B }
>
> enum E2{ B,C }
>
> {
> with (E1):
> B; // E1.B
>
> with (E2):
>
> A; // E1.A
> C; // E2.C
> B; // this should be error because 2 matched symbols 'E1.B' and 'E2.B'
> }
> '''
The example is equivalent to:
```
enum E1{ A,B }
enum E2{ B,C }
{
with (E1)
{
B; // E1.B
with (E2)
{
A; // E1.A
C; // E2.C
B; // (*)
}
}
}
'''
and B should resolve as E2.B because of the usual scoping rules. Changing the
scoping rules would be different from other uses of : that introduce scope.
More information about the dip.development
mailing list