Odd delegate behavior

nobody nobody at mailinator.com
Wed Feb 14 12:20:29 PST 2007


When I compile (v1.0) the following code for some reason opIndexDg's stack 
pointer is null and opIndexAssignDg's stack pointer is not.

----------------
   struct S
   {
     real delegate(size_t i, size_t j) opIndexDg;
     real delegate(real r, size_t i, size_t j) opIndexAssignDg;

     void dbg()
     {
       printf("&opIndexDg : [%X]\n", &opIndexDg );
       printf("     func -> [%X]\n", opIndexDg.funcptr );
       printf("    stack -> [%X]\n", opIndexDg.ptr );

       printf("&opIndexAssignDg : [%X]\n", &opIndexAssignDg );
       printf("           func -> [%X]\n", opIndexAssignDg.funcptr );
       printf("          stack -> [%X]\n", &opIndexAssignDg.ptr );
     }

   };


   int main(char[][] args)
   {
     S s;
     s.dbg();
     return 0;
   }
----------------

Output:

----------------

&opIndexDg : [12FF28]
      func -> [0]
     stack -> [0]
&opIndexAssignDg : [12FF30]
            func -> [0]
           stack -> [12FF30]


More information about the Digitalmars-d-bugs mailing list