dmd: Module X conflicts with itself (Was: Re: RDMD on Windows)

Andrej Mitrovic andrej.mitrovich at gmail.com
Sun Aug 22 10:44:04 PDT 2010


Well then I think I've found some new bugs in RDMD & xfbuild:

Files:
root/main.d
root/socket.d

main.d:
module main;

import alt.socket;

void main()
{
    foo();
}

socket.d:
module alt.socket;

import std.stdio : writeln;

void foo()
{
    writeln("test");
}

$ RDMD main.d

main.d(2): Error: module socket is in file 'alt\socket.d' which cannot be read
import path[0] = .
import path[1] = C:\DMD\dmd2\windows\bin\..\..\src\phobos
import path[2] = C:\DMD\dmd2\windows\bin\..\..\src\druntime\import


$ xfbuild +o=main.exe main.d socket.d

main.d(4): Error: module socket is in file 'alt\socket.d' which cannot be read
import path[0] = C:\DMD\dmd2\windows\bin\..\..\src\phobos
import path[1] = C:\DMD\dmd2\windows\bin\..\..\src\druntime\import
Build failed: 'dmd @xfbuild.a00e00.rsp' returned 1.

DSSS fails as well.

But DMD works:

$ dmd main.d socket.d
$ main.exe
> test

Rory Mcguire Wrote:

> In Java yes. I D you can use the module declaration to "move" a module.
> e.g.
> filename: socket.d;
> module: alt.socket;
> 
> to import you'd do "import alt.socket;" even if the file is in the same
> directory as the module using the file.



More information about the Digitalmars-d-learn mailing list