Thread overview
[Issue 80] Cannot instantiate nested class in nested function
Jun 18, 2006
d-bugmail
Jun 18, 2006
d-bugmail
Jun 19, 2006
d-bugmail
Jan 23, 2007
d-bugmail
Jan 23, 2007
d-bugmail
Jan 23, 2007
d-bugmail
Jul 22, 2009
Don
June 18, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=80


bugzilla@digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME




------- Comment #2 from bugzilla@digitalmars.com  2006-06-18 02:20 -------
Works in 0.160.


-- 

June 18, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=80


daiphoenix@lycos.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |




------- Comment #3 from daiphoenix@lycos.com  2006-06-18 08:16 -------
(In reply to comment #2)
> Works in 0.160.

Have you tested the DStress testcases?
The original code by Jarrett now compiles, but I think the bug (or at least
some other bug) is still there. You see, the 04_B case fails, which is clearly
a bug, and the C and D fail to compile, which I think isn't correct too.


-- 

June 19, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=80





------- Comment #4 from daiphoenix@lycos.com  2006-06-19 08:58 -------
(In reply to comment #3)
> (In reply to comment #2)
> > Works in 0.160.
> Have you tested the DStress testcases?
> The original code by Jarrett now compiles, but I think the bug (or at least
> some other bug) is still there. You see, the 04_B case fails, which is clearly
> a bug, and the C and D fail to compile, which I think isn't correct too.

Also, this might be related (or even be the same) as bug 155:
http://d.puremagic.com/bugzilla/show_bug.cgi?id=155
Note the similarity with testcase nested_class_04_B.d


-- 

January 23, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=80


davidl@126.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |WORKSFORME




------- Comment #5 from davidl@126.com  2007-01-22 21:40 -------
i think no one would fix .150 and the code works in 1.0


-- 

January 23, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=80





------- Comment #6 from braddr@puremagic.com  2007-01-22 22:07 -------
According to the dstress results ( http://dstress.kuehne.cn/www/dmd-1.00.html ), A passes but B, C, and D all fail still.  How did you test this:

1) hand built, run, and examined or via dstress?
2) what os?
3) which compiler, dmd or gdc?


-- 

January 23, 2007
http://d.puremagic.com/issues/show_bug.cgi?id=80


braddr@puremagic.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WORKSFORME                  |




-- 

July 22, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=80


Don <clugdbug@yahoo.com.au> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
                 CC|                            |clugdbug@yahoo.com.au
         Resolution|                            |FIXED




--- Comment #7 from Don <clugdbug@yahoo.com.au>  2009-07-22 02:20:40 PDT ---
Cases A and B pass, but C and D are still failing (DMD 2.031 and 1.046).

However, it's pretty clear that cases C and D are invalid. A reduced version of
C generates this error:
ancient.d(6): Error: this for i needs to be type Outer not type Inner*

and that is correct. 'Inner' is only _defined_ in 'Outer', it's not a _member_
of 'Outer'. (All kinds of bad things would happen if this worked; you wouldn't
be able to transfer an Inner from one Outer to another, for example).
Marking as fixed, since the two valid cases are fixed now.
-----
struct Outer{
    int i;
    struct Inner{
        int fest() { return i; }
    }
    void test(){
      Inner z;
      int k = z.fest();
    }
}

int main(){
Outer outer;
    outer.i = 1;
    outer.test();
    return 0;
}

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