digitalmars.D.bugs - Umm.. more array .init problems
- Jarrett Billingsley (28/28) Feb 28 2005 Just downloaded DMD114 and found that the .init property of arrays sadly...
- Jarrett Billingsley (1/1) Mar 08 2005 Uhh.. is this not a problem? I'd say a MAV for no reason is a problem.
- Thomas Kuehne (13/30) Mar 18 2005 -----BEGIN PGP SIGNED MESSAGE-----
Just downloaded DMD114 and found that the .init property of arrays sadly no longer initializes all the contents of the array. I know, it's more consistent this way, but.. could there perhaps be a .clear property then? Anyway I found the problem when I was looking for another way to quickly initialize the contents of an array. I decided to see what exactly the .init property was returning, when I came across this.. bug? import std.stdio; void main() { int[] a; a.length=2; a[0]=5; a[1]=10; int[] b=a.init; writefln(b[0],", ",b.length); } This causes an access violation on the line "int[] b=a.init". However, if I change the first two lines like so: import std.stdio; void main() { int[] a=new int[2]; a[0]=5; a[1]=10; int[] b=a.init; writefln(b[0],", ",b.length); } It works.
Feb 28 2005
Uhh.. is this not a problem? I'd say a MAV for no reason is a problem.
Mar 08 2005
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jarrett Billingsley schrieb am Mon, 28 Feb 2005 17:02:56 -0500:Just downloaded DMD114 and found that the .init property of arrays sadly no longer initializes all the contents of the array. I know, it's more consistent this way, but.. could there perhaps be a .clear property then? Anyway I found the problem when I was looking for another way to quickly initialize the contents of an array. I decided to see what exactly the .init property was returning, when I came across this.. bug? import std.stdio; void main() { int[] a; a.length=2; a[0]=5; a[1]=10; int[] b=a.init; writefln(b[0],", ",b.length); } This causes an access violation on the line "int[] b=a.init".I can't reproduce this on Linux. However your code has to segfault due to b[0] (b.length is 0). Added to DStress as http://dstress.kuehne.cn/run/array_initialization_05.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFCOo5+3w+/yD4P9tIRAoFrAJ48Rdq2NQm49fM3iIE7xusotYI0HACgqPDn pRhdL+vgMEo/NOoXP2OoE+k= =EKoq -----END PGP SIGNATURE-----
Mar 18 2005