www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 6999] New: parsing error for inout method/ wrong headergen

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

           Summary: parsing error for inout method/ wrong headergen
           Product: D
           Version: D2
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: dawg dawgfoto.de



struct S
{
    inout(int) foo() inout
    {
        return a;
    }

    int a;
}

---
// D import file generated from 'bug3.d'
struct S
{
    inout inout(int) foo()
{
return a;
}
    int a;
}
---

Compiling a method with 'inout inout(int) ident()'
will cause the following error.
Error: inout on return means inout must be on a parameter as well for
inout(int)()

It seems that the language requires the method attribute to follow
the parameter list.
http://www.d-programming-language.org/declaration.html#DeclaratorSuffix

But the header gen will output the inout in front of the return type.
The error message should be better in any case.

Probably related bug:
http://d.puremagic.com/issues/show_bug.cgi?id=6872

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




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

-- 
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=6999




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

https://github.com/D-Programming-Language/dmd/commit/87704232d2328bca1994e57528a6b5a082072241
test case for Bug6999

https://github.com/D-Programming-Language/dmd/commit/847e4995e37ae7b8fa13a234b437822c09ed8945
apply scope storage class before function type semantic

 - fix issue 6999

 - this is needed if a storage class would
   affect type inference

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


fix Issue 6999 - parsing error for inout method/ wrong headergen

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


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull, rejects-valid
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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