www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 6872] New: Breaking type parsing of shared(inout(int)[])

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

           Summary: Breaking type parsing of shared(inout(int)[])
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: k.hara.pg gmail.com



Code:
inout(int) func(shared(inout(int)[]) arr){ return 0; }

Output:
test.d(1): Error: inout on return means inout must be on a parameter as well
for inout(int)(shared(shared(const(int))[]) arr)

The shared(inout(int)[]) type is parsed as shared(shared(const(int))[]), it is
incorrect.

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


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

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



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

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




Following cases are also rejected.

static assert((shared(inout(const(int)[]))).stringof
           == "shared(inout(const(int)[]))");
static assert((shared(inout(const(int)[])[])).stringof
           == "shared(inout(const(int)[])[])");
static assert((shared(inout(const(immutable(int)[])[])[])).stringof
           == "shared(inout(const(immutable(int)[])[])[])");

The TypeNext::makeXXX() functions should convert the modifier of new next type
object like Type::addMod() function.


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

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


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla digitalmars.com
         Resolution|                            |FIXED



11:16:06 PST ---
https://github.com/D-Programming-Language/dmd/commit/d199900617121a5a6381b05e55c07ca14ad8f582

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