Thread overview
[Issue 6999] New: parsing error for inout method/ wrong headergen
Nov 24, 2011
dawg@dawgfoto.de
Nov 24, 2011
dawg@dawgfoto.de
Jul 14, 2012
Kenji Hara
November 24, 2011
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


--- Comment #0 from dawg@dawgfoto.de 2011-11-23 18:14:40 PST ---
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: -------
November 24, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6999



--- Comment #1 from dawg@dawgfoto.de 2011-11-24 11:44:51 PST ---
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: -------
July 14, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=6999



--- Comment #2 from github-bugzilla@puremagic.com 2012-07-14 06:13:44 PDT ---
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 Merge pull request #531 from dawgfoto/Bug6999

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: -------
July 14, 2012
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: -------