Opened 11 years ago
Closed 11 years ago
#404 closed bug (fixed)
alias doesn't work properly
Reported by: | steenpass | Owned by: | somebody |
---|---|---|---|
Priority: | minor | Milestone: | 3-1-4 and higher |
Component: | dontKnow | Version: | 3-1-3 |
Keywords: | alias | Cc: |
Description
> proc dummy1(int a, int b) { return("works"); }; > proc dummy2(alias int a, int b) { return("works"); }; > proc dummy3(int a, alias int b) { return("works"); }; > proc dummy4(alias int a, alias int b) { return("works"); }; > int a, b; > dummy1(a, b); works > dummy2(a, b); works > dummy3(a, b); ? error occurred in or before ::dummy3 line 0: `parameter int a; parameter alias int b; ` ? last reserved name was `alias` ? leaving ::dummy3 skipping text from ` ` ? leaving ::dummy3 error at token `)` > dummy4(a, b); ? error occurred in or before ::dummy4 line 0: `alias int a; parameter alias int b; ` ? last reserved name was `alias` ? leaving ::dummy4 skipping text from ` ` ? leaving ::dummy4 error at token `)` >
It should be possible to have more than one argument as well as only the second (third, etc.) argument as an alias.
Note that alias also causes problems when applied to lists:
> proc dummy1(alias list l) { int i = l[1]; i; }; > proc dummy2(alias list l) { int i = l[1][1]; i; }; > list l1 = list(1, 2); > list l2 = list(list(1), list(2)); > dummy1(l1); ? `int`(i) = `` is not supported ? expected `int` = `int` ? expected `int` = `intmat` ? error occurred in or before ::dummy1 line 1: ` int i = l[1]; i; ` ? expected int-expression. type 'help int;' ? leaving ::dummy1 skipping text from `;` error at token `)` > dummy2(l2); ? ...parse error ? error occurred in or before ::dummy2 line 1: ` int i = l[1][1]; i; ` ? expected int-expression. type 'help int;' ? leaving ::dummy2 skipping text from `;` error at token `)` >
Note: See
TracTickets for help on using
tickets.
2 different bug should result in 2 different tickets.
fixed.