www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 3091] New: "auto x = new shared foo" does not compile

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091

           Summary: "auto x = new shared foo" does not compile
           Product: D
           Version: 2.030
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: jason.james.house gmail.com


Created an attachment (id=402)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=402)
File demonstrating the issue

Attached is a simple test case that I think should compile.  It seems that
shared foo must be replaced with shared(foo).  It's certainly easier to type in
the way I'm hoping for.  Things get a bit ridiculous when templates are
involved auto x = new shared(foo!(bar, baz))(alpha, beta);  Anything that can
be done to reduce the parenthesis is nice.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 23 2009
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091


Sobirari Muhomori <dfj1esp02 sneakemail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor



10:02:46 PDT ---
Seems like an RFE. Try to compile this:
---
class A{}

int main()
{
    const a = new const A();
    const a = new immutable A();
    return 0;
}
---

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 28 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com
           Severity|minor                       |enhancement


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Oct 28 2009
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091




NewExp and StructLiteralExp have this issue.

inout(int) test3091(inout(int) _dummy = 0)
{
    struct Foo {}

    auto  pm = new Foo;
    auto  pc = new const Foo;
    auto  pw = new inout Foo;
    auto psm = new shared Foo;
    auto psc = new shared const Foo;
    auto psw = new shared inout Foo;
    auto  pi = new immutable Foo;

    auto  m = Foo();
    auto  c = const Foo();
    auto  w = inout Foo();
    auto sm = shared Foo();
    auto sc = shared const Foo();
    auto sw = shared inout Foo();
    auto  i = immutable Foo();

    return 0;
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 12 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091


Kenji Hara <k.hara.pg gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch



https://github.com/D-Programming-Language/dmd/pull/556

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 12 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091




05:13:23 PST ---
With that patch, when will "new shared foo()" be allowed? Is it semantically
equivalent to "cast(shared) new foo()"?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 12 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091





 With that patch, when will "new shared foo()" be allowed? Is it semantically
 equivalent to "cast(shared) new foo()"?
"new shared foo()" is allowed, and it is semantically equivalent to "new shared(foo)()", not cast. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 12 2011
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091




Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/77a617330302166c334f7760fb02e57032d08d21
Issue 3091 - "auto x = new shared foo" does not compile

https://github.com/D-Programming-Language/dmd/commit/ec3e3300949b5aef30c7a71a0287a77135739144


Issue 3091 & 6873 - Make "StorageClasses Type" syntax available in some where

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 25 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091




Fix for language reference:
https://github.com/D-Programming-Language/d-programming-language.org/issues/159

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Sep 25 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3091


Kenji Hara <k.hara.pg gmail.com> changed:

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


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