www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9127] New: Error on getting `stringof` on field with body-less interface type

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9127

           Summary: Error on getting `stringof` on field with body-less
                    interface type
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: verylonglogin.reg gmail.com



11:40:27 MSK ---
---
interface I;
struct S { I a; }
enum e = S.tupleof[0].stringof; // line 3
---

Output:
---
main.d(3): Error: function expected before (), not "module main"c of type
string
---

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 09 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9127




By git head, the code outputs:

----
test.d(1): Error: interface test.I is forward referenced when looking for
'stringof'
----

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 11 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=9127


Andrej Mitrovic <andrej.mitrovich gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich gmail.com



10:55:47 PST ---
This is true for any forward declaration:

interface I;
struct S;
class C;
enum ei = I.stringof;
enum es = S.stringof;
enum ec = C.stringof;

test.d(3): Error: interface test.I is forward referenced when looking for
'stringof'
test.d(7): Error: struct S is forward referenced
test.d(5): Error: class test.C is forward referenced when looking for
'stringof'

Note that Walter has stated before that .stringof is allowed to be overriden by
the user, so this might have to be closed as invalid.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 04 2013