September 10, 2004
class  Test
{
   private :
      unsigned long    value;

   public  :
#if defined _BUG_
      unsigned long &operator = ( unsigned long  v )
      { return ( value = v ); }
#else
      unsigned long &operator = ( unsigned long  v )
      { value = v; return value; }
#endif
};


Compiled with -D_BUG_ gives:

bug5.cpp(8) : Error: reference must refer to same type or be const
Had: unsigned long
and: unsigned long &
--- errorlevel 1