[Issue 4247] Cannot create default-constructed struct on heap when	constructor is defined
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Mon Apr 15 07:09:08 PDT 2013
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=4247
Maksim Zholudev <maximzms at gmail.com> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maximzms at gmail.com
--- Comment #8 from Maksim Zholudev <maximzms at gmail.com> 2013-04-15 07:09:04 PDT ---
(In reply to comment #0)
> So the auto s = new S is no longer usable.  However, I can easily declare a
> struct S on the stack, or create a new array of S.  In fact, you can do:
> 
> auto s = (new S[1])[0];
> 
> and achieve the desired effect, but this is oh so ugly.
This code would create structure on the heap and put COPY of it to `s`.
It is not the same as `auto s = new S`.
The workaround should be:
--------------------
auto s = (new S[1]).ptr;
--------------------
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list