www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13078] New: [dmd 2.066-b2] AA rehash failed with shared

https://issues.dlang.org/show_bug.cgi?id=13078

          Issue ID: 13078
           Summary: [dmd 2.066-b2] AA rehash failed with shared
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: DMD
          Assignee: nobody puremagic.com
          Reporter: NCrashed gmail.com

DMD: 2.066.0-b2
Platform: 3.14.9-200.fc20.x86_64

```
shared string[][string] map;

void main()
{
    map.rehash;
}
```

Compile-time error:
```
/usr/include/dmd/druntime/import/object.di(381): Error: cannot implicitly
convert expression (aa) of type shared(immutable(char)[][][string]) to
shared(immutable(char)[][])[string]
source/app.d(5): Error: template instance
object.rehash!(shared(immutable(char)[][][string]),
shared(immutable(char)[][]), string) error instantiating
```

Explicit casting is a workaround:
```
void main()
{
    (cast(shared(string[])[string])map).rehash;
}
```

--
Jul 08 2014