View Issue Details

IDProjectCategoryView StatusLast Update
0000651LDMud 3.6Generalpublic2021-04-06 23:27
ReporterGnomi Assigned ToGnomi  
Status resolvedResolutionfixed 
Platformi686OSDebian GNU/LinuxOS Version4.0
Fixed in Version3.6.4 
Summary0000651: lvalue 3: Lvalues to mapping entries
DescriptionThe following code:

    mapping m = ([:1]);
    m[1][2] = 5;

gives an error and leaves m as ([1: 0]).

Therefore I suggest a special LVALUE_(UN)PROTECTED_MAPENTRY which contains a (in protected lvalues a refcounted) pointer to the mapping and a copy of the index. Assignments to this lvalue would create the mapping entry, but it can not be indexed. When used as an rvalue it has to lookup in the mapping, because in the meantime this key could have been created. (In that case it could be changed to a normal LVALUE_PROTECTED on the fly.)
TagsNo tags attached.


parent of 0000148 resolvedGnomi LDMud 3.6 Failed assignments leave behind empty mapping entries. 
child of 0000546 resolvedGnomi LDMud 3.5 Rework lvalue handling 


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2009-06-03 14:37 Gnomi New Issue
2009-06-03 14:37 Gnomi Status new => assigned
2009-06-03 14:37 Gnomi Assigned To => Gnomi
2009-06-03 14:38 Gnomi Relationship added child of 0000546
2009-06-03 14:38 Gnomi Relationship added parent of 0000148
2021-04-06 23:26 Gnomi Project LDMud 3.5 => LDMud 3.6
2021-04-06 23:26 Gnomi Category Runtime => General
2021-04-06 23:27 Gnomi Status assigned => resolved
2021-04-06 23:27 Gnomi Resolution open => fixed
2021-04-06 23:27 Gnomi Fixed in Version => 3.6.4