View Issue Details

IDProjectCategoryView StatusLast Update
0000049LDMud 3.3LPC Compiler/Preprocessorpublic2019-08-29 23:41
ReporterlarsAssigned ToGnomi  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionwon't fix 
Summary0000049: Computed struct name lookup should be smarter
DescriptionAssume:

  struct Door { int flags; };
  struct Exit { int flags; };
  struct Room { struct Exit north; struct Exit south; };

  struct Room room;
  string dir;

  room->(dir)->flags;

This line throws a compiler error that 'flags' is defined in multiple structs (Door and Exit), even though the compiler could deduce that Exit is meant - because Room doesn't have any top-level Door members. Instead, the compiler currently considers all structs defined in scope as possible candidates.

Testcase: t-040413

TagsNo tags attached.

Relationships

related to 0000843 resolvedGnomi LDMud struct runtime lookup regression 

Activities

Gnomi

2019-08-29 23:41

manager   ~0002478

Actually it is not true, that the compiler can deduce the type of a runtime struct member lookup. The given struct can be a derived struct type containing additional members with different types, that the runtime lookup should find.

Issue History

Date Modified Username Field Change
2004-04-13 22:35 lars New Issue
2019-08-29 23:39 Gnomi Relationship added related to 0000843
2019-08-29 23:41 Gnomi Assigned To => Gnomi
2019-08-29 23:41 Gnomi Status new => closed
2019-08-29 23:41 Gnomi Resolution open => won't fix
2019-08-29 23:41 Gnomi Note Added: 0002478