[ddbg] "Access violation" and "Invalid val type" with dictionaries

Jascha Wetzel firstname at mainia.de
Thu Jun 28 04:15:42 PDT 2007


it's missing support for class types in associative arrays, and a 
missing warning message about that ;)
the next release will fix it.

Ary Manzana wrote:
> Hi Jascha,
> 
> Take the following code:
> 
> ---
> module main;
> 
> import std.stdio;
> 
> class Point {
>     
>     int x;
>     int y;
>     
>     this(int x, int y) {
>         this.x = x;
>         this.y = y;
>     }
>     
>     public override char[] toString() {
>         return "(" ~ std.string.toString(x) ~ ", " ~ 
> std.string.toString(y) ~ ")";
>     }
>     
> }
> 
> void main() {
>     Point[int] dictionary;
>     dictionary[1] = new Point(1, 10);
>     dictionary[2] = new Point(2, 20);
>     dictionary[3] = new Point(3, 30);
>     
>     writefln("%s", dictionary[1]);
> }
> ---
> 
> If you run it, you'll see (1, 10) as the output. However, if you set a 
> breakpoint in the writefln line and you try to access dictionary[1]:
> 
> ->= dictionary[1]
> Access Violation
> ->= dictionary[cast(int)1]
> Access Violation
> 
> Further:
> 
> ->= dictionary
> invalid val type PC4main5Point
> 
> Is this a bug in ddbg?
> 
> Regards,
> Ary


More information about the Digitalmars-d-debugger mailing list