Bug 7373 – (Regression git) Renamed imports conflict with other implicitly imported symbols
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Linux
Creation time
2012-01-26T10:40:00Z
Last change time
2012-01-30T03:11:07Z
Keywords
rejects-valid
Assigned to
nobody
Creator
leandro.lucarella
Comments
Comment #0 by leandro.lucarella — 2012-01-26T10:40:22Z
This is how to reproduce the regression:
echo 'module m1; struct S {}' > m1.d
echo 'module m2; struct S {}' > m2.d
echo 'module m3; import m1; import S = m2; S.S s;' > m3.d
dmd -c m3.d
This works without the fix, but with the fix I get this errors:
m3.d(1): Error: m1.S at m1.d(1) conflicts with m2 at m3.d(1)
m3.d(1): Error: no property 'S' for type 'S'
m3.d(1): Error: S.S is used as a type
m3.d(1): Error: variable m3.s voids have no value
The only important is the first one. If you change m3 like this it works again:
echo 'module m3; import m1; import X = m2; alias X S; S.S s;' > m3.d
^ ^^^^^^^^^
A git bisect show this commit as the one introducing the regression:
merge D2 pull 591 (93a643aba6f62db1b7658c2bfb51f9d0b576c337)
https://github.com/D-Programming-Language/dmd/commit/93a643aba6f62db1b7658c2bfb51f9d0b576c337https://github.com/D-Programming-Language/dmd/pull/591
Comment #1 by github-bugzilla — 2012-01-29T22:01:25Z