[Issue 4436] New: Double bug regarding Tuple.init

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jul 7 13:39:22 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=4436

           Summary: Double bug regarding Tuple.init
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: andrei at metalanguage.com


--- Comment #0 from Andrei Alexandrescu <andrei at metalanguage.com> 2010-07-07 13:39:18 PDT ---
Consider:

import std.stdio, std.typecons;

struct S
{
    this(this) { writeln("making a copy"); }
}

void main() {
    Tuple!(S, int) x;
    auto p1 = &(x.init);
    //auto p2 = &(Tuple!(S, int).init);
}

The program as is calls the copy constructor of S twice. It should call none
(for at least two reasons: effciency and the fact that some types want to
disable copying).

Furthermore, uncommenting the last line in main yields a compile-time error. It
should compile and run (again without invoking the copy constructor).

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


More information about the Digitalmars-d-bugs mailing list