Thread overview
import std conflict
Nov 06, 2003
Ant
Nov 06, 2003
Lars Ivar Igesund
Nov 06, 2003
Ant
Nov 12, 2003
Lars Ivar Igesund
Nov 12, 2003
Ant
November 06, 2003
when compiling with dmd 0.75, linux, command line:
dmd -release <<<many files.d>>> -c -I~/dmd/src/phobos:src -od../obj/ -op

I get:
def/Types.d(17): import std conflicts with DUI.std at dui/DUI.d(19)

<defTypes.d line 17> private import std.path;

<dui/DUI.d line 19> private import std.thread;

BTW the linux dir was under std.
I moved mine to under std/c - seems to do be working.

Ant


November 06, 2003
Same stuff happens on Windows and it's kinda annoying...

Lars Ivar Igesund

"Ant" <Ant_member@pathlink.com> wrote in message news:bocn88$24rj$1@digitaldaemon.com...
>
> when compiling with dmd 0.75, linux, command line:
> dmd -release <<<many files.d>>> -c -I~/dmd/src/phobos:src -od../obj/ -op
>
> I get:
> def/Types.d(17): import std conflicts with DUI.std at dui/DUI.d(19)
>
> <defTypes.d line 17> private import std.path;
>
> <dui/DUI.d line 19> private import std.thread;
>
> BTW the linux dir was under std.
> I moved mine to under std/c - seems to do be working.
>
> Ant
>
>


November 06, 2003
In article <bod2l1$2mi7$1@digitaldaemon.com>, Lars Ivar Igesund says...
>
>Same stuff happens on Windows and it's kinda annoying...
>
>"Ant" <Ant_member@pathlink.com> wrote in message
>> def/Types.d(17): import std conflicts with DUI.std at dui/DUI.d(19)

I guess one of us will have to create a small example with two empty source files and post a "BUG:" message.

I'll try to do it tonight unless I see you did it already.

Ant


November 12, 2003
I found the problem. I don't think it's a bug. Instead it's quite simple...
In the DUI case, the problem is that very many files do
private import def.Types;
The problematic files are those that also import ObjectG.d (all of them?).
The reason is that ObjectG.d do this:
import def.Types;
This means that files that import both ObjectG.d and Types.d, actually
imports Types.d twice and voila, a conflict. Just remove
private import def.Types from all files that also do
import dui.ObjectG;

The error message is still horrible, of course as it says nothing about the really offending file (unless you compile one and one object with the -c switch which again leads to the forward referencing bug (still standing))

Lars Ivar Igesund


"Ant" <Ant_member@pathlink.com> wrote in message news:bocn88$24rj$1@digitaldaemon.com...
>
> when compiling with dmd 0.75, linux, command line:
> dmd -release <<<many files.d>>> -c -I~/dmd/src/phobos:src -od../obj/ -op
>
> I get:
> def/Types.d(17): import std conflicts with DUI.std at dui/DUI.d(19)
>
> <defTypes.d line 17> private import std.path;
>
> <dui/DUI.d line 19> private import std.thread;
>
> BTW the linux dir was under std.
> I moved mine to under std/c - seems to do be working.
>
> Ant
>
>


November 12, 2003
In article <bot5do$22lu$1@digitaldaemon.com>, Lars Ivar Igesund says...
>
>I found the problem. I don't think it's a bug. Instead it's quite simple...
>In the DUI case, the problem is that very many files do
>private import def.Types;
>The problematic files are those that also import ObjectG.d (all of them?).
>The reason is that ObjectG.d do this:
>import def.Types;
>This means that files that import both ObjectG.d and Types.d, actually
>imports Types.d twice and voila, a conflict. Just remove
>private import def.Types from all files that also do
>import dui.ObjectG;

I'll check that also
(see my answer to Walter http://www.digitalmars.com/drn-bin/wwwnews?D/19186)!
but... I changed ALL imports to private when trying to
figure this out and still have problems with import.

thanks

Ant