Thread overview
[Issue 9984] New: inout qualifier is skipped for constructor arguments (template constructor only)
Apr 23, 2013
Maksim Zholudev
Apr 23, 2013
Maksim Zholudev
Apr 24, 2013
Kenji Hara
Apr 24, 2013
yebblies
April 23, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9984

           Summary: inout qualifier is skipped for constructor arguments
                    (template constructor only)
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: maximzms@gmail.com


--- Comment #0 from Maksim Zholudev <maximzms@gmail.com> 2013-04-23 09:21:55 PDT ---
The following code does not compile:
--------------------
struct Foo
{
    int[] p;

    inout this()(inout int[] a) // test.d(5)
    {
        p = a;
    }

    auto foo() inout
    {
        return inout(Foo)(p); // test.d(12)
    }
}

void main() {}
--------------------
test.d(12): Error: template test.Foo.__ctor does not match any function
template declaration. Candidates are:
test.d(5):        test.Foo.__ctor()(int[] a)
test.d(12): Error: template test.Foo.__ctor()(int[] a) cannot deduce template
function from argument types !()(inout(int[])) inout
--------------------

There is no error if constructor is function not template

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 23, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9984



--- Comment #1 from Maksim Zholudev <maximzms@gmail.com> 2013-04-23 09:41:33 PDT ---
git bisect points on this commit: https://github.com/9rnsr/dmd/commit/599ba0718771b25d255e14175cc8bd31d2a1842e

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9984


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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull, rejects-valid
           Severity|normal                      |regression


--- Comment #2 from Kenji Hara <k.hara.pg@gmail.com> 2013-04-23 18:42:46 PDT ---
This is a regression occured in 2.063alpha.

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

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9984



--- Comment #3 from github-bugzilla@puremagic.com 2013-04-23 19:39:17 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/1c3c2b3a53382cd9408ad741daa8b64566bcb22f
fix Issue 9984 - inout qualifier is skipped for constructor arguments (template
constructor only)

https://github.com/D-Programming-Language/dmd/commit/488b6f343b5d69d4e7aff181a29b82712b19bbca Merge pull request #1927 from 9rnsr/fix9984

[REG2.063a] Issue 9984 - inout qualifier is skipped for constructor arguments (template constructor only)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 24, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9984


yebblies <yebblies@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |yebblies@gmail.com
         Resolution|                            |FIXED


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