digitalmars.D.bugs - [Issue 2546] New: Array Ops silently fail when no slice symbol is used.
- d-bugmail puremagic.com (32/32) Dec 30 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2546
- d-bugmail puremagic.com (12/12) May 31 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2546
http://d.puremagic.com/issues/show_bug.cgi?id=2546
Summary: Array Ops silently fail when no slice symbol is used.
Product: D
Version: 2.022
Platform: PC
OS/Version: Windows
Status: NEW
Keywords: accepts-invalid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: dsimcha yahoo.com
import std.stdio;
void main() {
double[] foo = [1.0,2,3,4,5].dup;
double[] bar = [6.0,7,8,9,10].dup;
foo[] += bar; // foo now still == [1.0, 2.0, 3.0, 4.0, 5.0].
writeln(foo);
foo[] += bar[]; // Works.
writeln(foo);
uint[] intFoo = [1u,2,3,4,5].dup;
uint[] intBar = [6u,7,8,9,10].dup;
intFoo[] += intBar; // intFoo is now [6,7,8,9,10].
writeln(intFoo);
intFoo[] += intBar[];
writeln(intFoo); // Works.
}
The compiler should either reject array ops in the form of foo[] += bar, or it
should work. Either way, it should not fail silently with results that are
arbitrary and inconsistent among types.
--
Dec 30 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2546
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |FIXED
19:02:59 PDT ---
http://www.dsource.org/projects/dmd/changeset/509
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 31 2010








d-bugmail puremagic.com