digitalmars.D.learn - aa bug?
- "Saaa" <empty needmail.com> Jul 28 2009
- Ary Borenszweig <ary esperanto.org.ar> Jul 28 2009
- "Saaa" <empty needmail.com> Jul 28 2009
- Jarrett Billingsley <jarrett.billingsley gmail.com> Jul 28 2009
- "Saaa" <empty needmail.com> Jul 28 2009
- bearophile <bearophileHUGS lycos.com> Jul 28 2009
- "Saaa" <empty needmail.com> Jul 28 2009
struct S
{
int i;
}
S[char[]] aa;
void main() {
aa["test"].i = 10;
}
Error: ArrayBoundsError
D1.046
looks like a bug to me or can't structs be aa's?
Jul 28 2009
Saaa escribió:struct S { int i; } S[char[]] aa; void main() { aa["test"].i = 10; } Error: ArrayBoundsError D1.046 looks like a bug to me or can't structs be aa's?
But you never inserted anything in aa["test"]. You must do: S s; aa["test"] = s; aa["test"].i = 10; or: S s; s.i = 10; aa["test"] = s;
Jul 28 2009
But you never inserted anything in aa["test"]. You must do: S s; aa["test"] = s; aa["test"].i = 10; or: S s; s.i = 10; aa["test"] = s;
erm, ok Thanks So no creation on use :) Personally I find the declation step clutter in the first case. Maybe promote the bug to a request?
Jul 28 2009
On Tue, Jul 28, 2009 at 6:09 PM, Saaa<empty needmail.com> wrote:But you never inserted anything in aa["test"]. You must do: S s; aa["test"] =3D s; aa["test"].i =3D 10; or: S s; s.i =3D 10; aa["test"] =3D s;
erm, ok Thanks So no creation on use :) Personally I find the declation step clutter in the first case. Maybe promote the bug =A0to a request?
It won't happen. The behavior you want *used* to be the AA behavior but was changed after several years and much complaining. It's not going back.
Jul 28 2009
It won't happen. The behavior you want *used* to be the AA behavior but was changed after several years and much complaining. It's not going back. Ah history :D
Jul 28 2009
Saaa:struct S { int i; } S[char[]] aa; void main() { aa["test"].i = 10; } Error: ArrayBoundsError D1.046
Try: struct S { int i; } S[char[]] aa; void main() { aa["test"] = S(10); } In theory a Sufficiently Smart Compiler is able to optimize that code well. Bye, bearophile
Jul 28 2009
struct literals .. need to remember all D's features :) D1.046 seems SS aa["test"]=S(); works fine as wellTry: struct S { int i; } S[char[]] aa; void main() { aa["test"] = S(10); } In theory a Sufficiently Smart Compiler is able to optimize that code well. Bye, bearophile
Jul 28 2009









"Saaa" <empty needmail.com> 