digitalmars.D.bugs - [Issue 4436] New: Double bug regarding Tuple.init
- d-bugmail puremagic.com (32/32) Jul 07 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4436
- d-bugmail puremagic.com (9/30) May 30 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4436
- d-bugmail puremagic.com (13/14) May 26 2013 http://d.puremagic.com/issues/show_bug.cgi?id=4436
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 puremagic.com
ReportedBy: andrei metalanguage.com
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: -------
Jul 07 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4436
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).
From 2.059, T.init always returns rvalue even if T is struct.
So getting address of init property by & operator is rejected in compile.
I think this issue should be closed with the status "resolved invalid".
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 30 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4436
Kenji Hara <k.hara.pg gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
I think this issue should be closed with the status "resolved invalid".
The explained behavior was actually a bug, so it didn't invalid.
I'll mark this "fixed".
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 26 2013









d-bugmail puremagic.com 