http://d.puremagic.com/issues/show_bug.cgi?id=9021


Andrej Mitrovic <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]


--- Comment #1 from Andrej Mitrovic <[email protected]> 2012-11-13 
17:47:13 PST ---
(In reply to comment #0)
> int main()
> {
>     class C { }
>     C c = new C;
>     C other = *cast(C *)cast(size_t) &c;
>     assert(&other == &c);
>     return 0;
> }
> 
> That assert fires on DMD 2.060
> 
> I need this to interface with a C library where I have to pass a pointer as 
> two
> ints and then cast them back in a callback.

You are comparing references. Those are two unique references to the same
object. If you want to compare the actual object address they point to use:

cast(void*)other == cast(void*)c;

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

Reply via email to