Skip to content

Commit d21b7c2

Browse files
committed
improve example about alias not working on expression
1 parent 9ad4c39 commit d21b7c2

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

spec/declaration.dd

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -470,13 +470,17 @@ alias abc = foo.bar; // is it a type or a symbol?
470470
$(P Aliases cannot be used for expressions:)
471471

472472
-----------
473-
struct S { static int i; }
474-
S s;
473+
struct S
474+
{
475+
static int i;
476+
static int j;
477+
}
475478

476-
alias a = s.i; // ok, s.i is a symbol
477-
alias b = S.i; // ok, S.i also is a symbol
478-
alias c = a + b; // illegal, a + b is an expression
479-
b = 4; // sets S.i to 4
479+
alias a = S.i; // OK, `S.i` is a symbol
480+
alias b = S.j; // OK. `S.j` is also a symbol
481+
alias c = a + b; // illegal, `a + b` is an expression
482+
a = 2; // sets `S.i` to `2`
483+
b = 4; // sets `S.j` to `4`
480484
-----------
481485

482486
$(H2 $(LNAME2 extern, Extern Declarations))

0 commit comments

Comments
 (0)