View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000389 | LDMud 3.3 | Efuns | public | 2005-05-24 12:18 | 2005-11-24 14:32 |
Reporter | Gnomi | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | i686 | OS | Debian GNU/Linux | OS Version | 3.0 |
Product Version | 3.3 | ||||
Fixed in Version | 3.3 | ||||
Summary | 0000389: lambda doesn't recognize #'& as the reference operator | ||||
Description | Hi, lambda(({'x}),({#'&,'x})) yields "Too few arguments to &". This is because #'& is now an efun closure, but lambda() expects it to be an operator closure (case F_AND is only executed for operator closures). So #'& is handled just as a normal efun, which requires exactly two arguments. There's also a compatibility issue. In 3.2 #'& could get more than two arguments and would AND them all together, in 3.3 it can only handle exact two arguments. Greetings, Gnomi. | ||||
Tags | No tags attached. | ||||
|
Neither 3.2 nor 3.3 allow just one argument to #'& - but otherwise you are corrected. This is corrected in 3.3.708, and also extends the multi-argument feature to #'| and #'^ . |
|
For clarification as my previous note was too terse: #'& does also take just one parameter in which case it acts as the 'create reference' operator - it is in the role as binary-and operator that it requires at least two parameters. |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-05-24 12:18 | Gnomi | New Issue | |
2005-06-19 22:11 |
|
Status | new => resolved |
2005-06-19 22:11 |
|
Fixed in Version | => 3.3 |
2005-06-19 22:11 |
|
Resolution | open => fixed |
2005-06-19 22:11 |
|
Assigned To | => lars |
2005-06-19 22:11 |
|
Note Added: 0000377 | |
2005-06-20 07:25 |
|
Note Added: 0000379 | |
2005-11-24 14:32 |
|
Status | resolved => closed |